TS:2068 UP-DATE
the user's NEWS
2
TS—2068 UP—-DATE =
1317 STRATFORD AVE.
PANAMA CITY, FL 32404
TS-2068 UP-DATE is a quarterly publication devoted ta
the support of users of the Timex 7872066. Hach ef the Disk
Drive Systems for the TS-2068 are discussed in detail in
special feature sections. Annual subscription is $12,00 per
year of issues.
***K BUILDING BLOCK SECTIONS ****
Software and Hardware Articles and Reviews
Technical: Schematics, Data Sheets, Interfacing
The Catalog: Software and Hardware Availability
Electronics Data: Formulas, Symbols, Tables
Subscribers Free Ads: Swap, Sell, Wanted
T8+2068 UP-DATB
1817 Stratford Ave, Panama City, FL 32404
(904 871 4513)
Common Electronics Symbols and Abbreviations
The following are Electronic Symbols and abbreviations, having to do with
Voltge, Current, Power, Frequency
Inductance, Reactance, Capacitance,
Resistance. For electroncs formulas, refer to the technical (green) section
English Letter Symbols
=Ampere (Current Measurement)
=Coulomb (capacitance Charge)
=Electromotive Force (Volts)
=giga (billion or 10 to 9th)
=Current (Unit=Ampere)
=Kilo (one thousand)
kV=Kilovolt (thousand valts)
kW=Kilowatt (1000 watts) (power)
ega (1 million)
illiampere (1/1000th ampere)
illivolt (171000th volt)
ano (1 billionth or 10 to -9)
nF=Nanofarad (1 billionth Farad)
P =Pico (10 to the minus 12)
icowatt
VA=Voltampere (One Volt at 1 Amp)
Wh=Watthour
uA=Microampere
ul=Microhenry
Rreonmop
Abbreviations
ac=Alternating Current
am=Amplitude modulation
amp hr=Ampere hour
ant=Antenna
assy=Assenbly
avc=Automatic Volume control
bdfo=Beat frequency oscillator
B&S=Brown & Sharpe Wire Gage
cb=Common base
ef=Cathade follower
cw=Continuous wave
dB=Decibel (Sound measurement)
demod=Demodulator
dpbe=Double pole, back connected
dpfc=Double pole, front connected
dpsw=Double pole switch
D =Drain; duty factor
emf=Electromotive force
erp=Effective radiated power
Bd=Baud ‘speed of communications)
dB=Decibel (sound measurement)
F =Farad (unit of Gapvetebeace
GHz=Gigahertz- One Billion Hertz
J =Joule (Inductive energy unit)
kHz=Kilohertz (frequency)
kVA=Kilovoltampere. (1000V¥1A)
kWh=Kilowatthour (1000W for 1 hr)
MHz=Megahertz (1 million hertz)
ms=millisecond (1/1000th second)
mV=mnilliwatt (1/1000th watt?
nA=Nanoampere (1 billionth amp)
ns=Nanosecond (1 billionth second)
pF=Picofarad
V =Volt (Electromotive Force)
W =Vatt (unit of electrical power)
u =Kicro (1 millionth)
uF=Hicrofarad
us=Kicrosecond
af=Audio Frequency
amp=Ampere
ampl=Amplifier
apc=Automatic phase control
atten=Attenuator
AWG=American wire gauge
bp=bandpass
cap=Capacitor
ce=Common emitter
cet=Center tap
C =Capacitance, Capacitor, Coulomb
de=direct current
dp=Double pale (switch)
dpdt=Double pole, double throw
dpst=Double pole, single throw
dt =double throw
ef=Emitter follower
env=Enve lope
E =Voltage; Emitter
Continued inside back (blue section).
About TS—-2068 SAFE DISK UP -DATE
TS-2068 SAFE DISK UP-DATE is a general publications to support TS-2068 Users.
SDU is orientated to those serious users who have already, or intend to upgrade to
Disk Drive system. SDU is written for all levels of user programming. The expert
programmer will likely think that the content is too basic, and the novice will feel
that it is too advanced. To the latter, knowledge is gained by the study of details
that are foreign, as no one learns from re-hashing what one already knows. There are
many TIMEX CLUBS, one within your commuting range. These clubs provide a great
opportunity to benefit from the exchange of programming information. Some produce
club newsletters that are well worth subscribing to. I subscribe to no less than four
of these club publications. Current listings of active clubs can be found in Time
Designs Magazine, SyncWare News, and Computer Trader Magazine, all of which are "MUST
SUBSCRIBE TO” publications that support the TS-2068. TO THE EXPERT PROGRAMMER, this
issue is a vit weak on Machine Language programming, but I'll bet that you can find
some new kinks in BASIC that will support your programming efforts. AND, the program
"SpOS MAIL MERGE" is a natural for assemblying into NC. We will do that in the next
issue. Why dont one of you MC artists beat me to the punch and send in a article on
this? Do it and your works will be published
SYNTAX: While SDU is "Disk Drive Orientated", and is now slanted to the Safe
Disk Operating System (SDOS), all programming presented can easily adapt to any other
Disk Controller syntax, and to Cassette. SDI will begin to support other disk systems
as writers begin to support SDU. 1 received a nice letter from Mr. Larry Kenny of
LARKIN ELECTRONICS inquiring if SDU is a "General Publication for the TS-2068". YES,
it is intended to be just that. BUT, to cover ail systems, I need WRITER
CONTRIBUTIONS from those who use the systems. 1 would love to add a "LARKEN DISK
SECTION’. Larry Kenny deserves much credit for developing the LARKIN DISK and for his
perseverance. He even has a "Universal DOS DISKETTE” that is compatable with the
Oliger SAFE DISK System. I haven't tried that, but would like to
AERCO FD-68 DISK SYSTEM: David Hill started a nice newsletter for Aerca FD-68,
Disk Users. 1 subscribed and received two issues of FD-68 User and I must admit that
my money's worth was received in the two issues. BUT, it appears that FD-68 USER is
gone. The current issue is well past its time and correspondance to Dave is being
returned "no forwarding address". Maybe this is hasty, and I'll be sure to correct it
if it proves to be so. If the latter is the case, I dont want to compete for FD-68
users, but would like to invite all to subscribe to SDU. If FD-68 User does not
resume, then perhaps we can start a special section in SDU to serve the Aerco users
Again, WRITER SUPPORT will be needed and welcomed
OUTLOOK: A publication builds upon the effectiveness of its content and the
enthusiasm of the user group that it represents. Both equals success. | am
enthusiastic and I project about 300 subscribers by mid 1986 and increasing. When we
“each that point, a break even situation will exist and consideration will be given to
expand coverage and to change to 4 bi-monthly schedule. BUT, First Year First! lam
committed to a full year of publication of SDU before even checking on RED INK
(losses). Then we will decide. Best O Computing to all
WINTER COMPUTER FEST IN ORLANDO, FLORIDA: Right in the midst of Disney World,
Sea World, Circus World, nearby to the East Coast Beaches and to the Space Center
What a great place to combine a Computer Fest and a Family Vacation! The details will
unfold between issues of SDU. Watch for news in TDM, SYN, and TDM. Eric Johnson, 249
N. Hardin Ave, Orange City, FL 32763, is your contact. He needs your support for
success.
By Bill Jones
Enthusiastic 20686ers
I wish that I could print the dozens of enthusiastic and supportive letters
that I have received from dedicated 2068ers. One nice guy even sent an extra
$15.00 "for the kitty”. There is a real solid desire for a publication dedicated
to TS-2068 support. THANKS to all of you well wishers! Soon we will see just how
many serious 2068 users are out there in the USA and CANADA. Counting noses,
Canadians are right in there at the stretch. One of you Canucks send me a little
maple leaf decal to dress up the pages with. It'll go side by side with the Stars
and Bars. Incidentally, I have had the priviledge of flying side by side with
many RCAF Jocks and I can tell everyone that the Country to our North is a proud
and sturdy neighbor having a tradition of integrity that is difficult to match.
Gaffs and Laffs
Defenitichion
Interface: Vhats under the cold creme as the wife prepares for beddi-bye.
Dynamo: A small town in Missouri.
Data bus: Kissin and talking at the same time.
Syntax: A Colorado tax on brothels.
Peripheral: What one sees outta the corners of the eyes.
Optimist: One who believes the sky is rising with him in it.
Pessimist: One who believes the sky will fall upon hin.
Free: What taxes provide to them that dont pay taxes. ’
Service: A crime committed by a male.
Consultant: One who can't do it but wants to tell you how for a price.
Coax: A small axe which has two cutting ends.
Telecomputing: Secrets told to a friend and relayed to others.
Trouble Free: It dont break as much as it usta.
Buffer: Where Ma keeps the Sunday table cloth.
Grand Canyon: Vhere the Injuns dug the dirt for the Rockies.
Your eyes are fooling you. |
All Lines are Straight.
All Squares are Square.
All are the same Size.
Cessna 172
Eye Burn From Computer Monitors
Computers have introduced a damaging phenomenon
“Monitor Burn". Monitor burn is similiar in effect upon the
eyes as sunburn after a day at the beach or a afternoon
drive toward the western Sun. One’s eyes can become quite
irritated after hours before a computer monitor. Continued
exposure can result in “dry eyes”, and even scalding of the
surface of the eyes, a severe condition that has lasting
effects.
Color Monitors produce the most eye damage. Monitors
that present black background and plue print are the easiest
on the eyes. This is because blue light is of a lower
frequency and has the most diffusion, while red light isa
higher frequency and is concentrated as in a beam. Other
colors fall in between as to their damaging effects
As much as we like to use our computers, we should be
alert to 'Monitor Burn”. The early symptoms of Monitor Burn
are: i. Eyes dryer than usual and a need to blink more
often. 2. Eye redness or irritation. 3. Itching of the eye
or eyelids. When these symptoms occur one should quit for
the day and until the symptoms disappear.
By the time one notices the symptoms of Monitor Burn
the eyes could be considerably purned and scalded
necessitating a prolonged period of recovery. Recovery may
require the continual use of ‘artifical tears” eye drops to
overcome dryness, and or, a antibiotic salve to keep down
pacteria infection of the eyes
Those who operate computers should be conscious of the
damaging effects of Monitor Burn and take these precautions
i. Use sun glasses for long periods of viewing ‘especially
color monitors). 2. Operate with a "blue on black” color
combination if possible. 3. Keep eyes moist by plinking, or
use of mild "artificial tears” eye drops. 4. Watch for
early symptoms of Monitor Burn and discontinue until the
symptoms disiappear.
RABY AMERICAS
ae Toes EGAoaEoeTORESOSOUSTESOOE
Sep
Boeing 707
Qctober 1987
Curtiss 1910
Wright Flyer
Editorial
Here we go! Like the Wright Flyer, we're off the ground! This first issue
af TS-2068 Safe Disk Up-date cost a bundle because of the insert cover and
section separations. But maybe the red ink will change to green by the end of
the first year, I wanted to provide a couple of pages for each section so that
you would get acquainted with the organization. These sections will build as
the issues come to you.
The pages are punched for insertion in a three ring note baok in order to
keep the issues together in one place. Each section will be a different color
so that major subjects can be easily found. I've never seen a publication
organized that way, but I've never published anything before, Anyway, it
sounded like a good idea.
If you like this issue, please rave about it to all who have a TS-2068,
members of clubs especially. Although we will always support SDOS, the subject
matter will be applicable to the 7S-2068, whatever the configuration. Please
help the newsletter grow by recommending it to your friends.
This issue has several useful utilities plus two major programs. The
second program "SDOS HAIL MERGE” is outstanding in its usefulness. SDOS MAIL
MERGE will work right now as a printing mail list, using the Safe Disk printer
driver routine. It will print labels and envelopes, or just listings of
whatever nature you store in the data base. For the next two issues we will be
adding more functions to Mail Merge. We'll adda couple more menus, a printer
control group, auto printing of disk files, plus more. This software will grow.
The first program is a nice group of six interactive utilities. You can
actually do "mixed math" using inputs of HEX or Decimal, Multiply FFF Hex time
123 Decimal, for’example. Even fractions are handled. Of course there is not a
way of expressing fractions in HEX, but this will work: Divide 102697 by FAS
Hex, The result will be printed in decimal with fraction, Direct conversions
of Decimal to Hex or Hex to Decimal are handled up to FFFFFFh or 16777215
decimal. Thats 16 megabytes.
SDU DISKETTES: Lazy? Well, maybe just "busy". Whatever, if you dont want
ta key in the programs and utilities and debug key-in errors, you can order the
“SDU DISKETTE". There will be a SDU DISKETTE for each issue. Each SDV diskette
will have all programs and utilities of that issue on 5 1/4 inch diskette.
Additional documentation will be provided when appropriate. All formats of 5
1/4 inch diskettes will be supported. You can order the SDV Diskette for a
price of $16.00, See the order form in the yellow pages for each issue. 4A
scheme has been concocted to share the proceeds of SDU Diskette sales with the
authors of the programs and utilities, SDV will provide the diskettes and take
50% for expenses. The other 50% will be shared on a basis of the author's
percentage of the total diskette programs. One wont get rich this way, but will
at least receive something for one's efforts.
The BLUE section of SDV will be filled in as issues continue. It will be a
complete "Electronics Data" section and will include all abbreviations, symbols,
conversions, tables, and formulas. The Technical Section will contain all of
the TIMEX schematics, Port pin assignments, Oliger schematics, and technical
data about modifications.
The Club: Well, actually it isn't a club, but lets think of TS-2068 Safe
Disk Up-date as representing the [S-2068 user group. SDU encourages your
participation, your questions, and your comments. We need useful utilities and
short programs for publication. Please send in your creations. Lets use this
analogy in computer syntax: < IF 100 subscribers SHARE utilities and
programming TIPS THEN ALL MAY INCREASE computer literacy BY a FACTOR OF 100 > ¢<
IF NO OVERLAP >. Oh well, you get the gist of the idea, Lets have a
participating group for the benefits of all.
The section titled “TS-2068 Computing With SDOS" is John Oliger's section,
his rapport with Safe Disk Users. John will answer all of your questions. Send
your questions to the newsletter, or direct to Joha, I'm sure that John already
has a number of questions that he has answered to individuals, that would also
be of interest to most users. I'll keep my hands off of this section and it
will be what you, the readers, and John make of it.
Subscribers FREE ADS: You may send in an ad to sell something that you
dont need anymore, or ask for something that you dont have (Wanted), or TRADE.
These free ads will be column printed and must be 400 characters or less in
length. Please give your wailing address and phone number if possible, and
state {f the item is in working order.
The Catalog Section: Consider this "the yellow pages". Some of the ads
will be paid ads from vendors. Subseribers who have their own software or
hardware to sell may "announce the product” FREE, Such free announcements must
be sent in "copy ready” and shaped to 1/2 page in size. Use a good typewriter
or computer print with a "letter quality” printer, Draft quality print wont
copy very well, These subscriber "Free Announcemeats” are given ta encourage
the programmer to create good software for the users, It's tough out there ta
have to pay to advertise to a small user group. This may induce our qualified
programmers ta PRODUCE.
REVIEWS: We need volenteer reviewers. If you want to receive software and
write reviews, please write in and get on the SDV writer list. Individuals or
firms who desire that a product be reviewed, please send the software or
hardware to the newsletter. We will expect that a software will be kept by the
reviewer as compensation for the writing effort. Reviewers of hardware should
be allowed to purchase the hardware at 40% off market price.
LETTERS: I will appreciate your comments. fhe editorial section will be
kept brief because we dont want much "non permanent” data to clutter up the Safe
Disk Notebook. Letters, while appreciated, may not be published, depending upon
whether or not the comments are deemed to be of interest to most subscribers,
QUESTIONS and informatives WILL be published. Complaints about vendors will be
handled by direct contact with the vendor to attempt to satisfy the user, and
will be published only if a vendor fails consistantly to resolve complaints.
So, thats my two cents worth for this October 87 issue. Hang in there and
participate! We need that. (Ed)
ip
Haviland Obng
How Goes It?
Now I'a gonna take a leaf from ‘ole Chet's book and
ramble a bit. $0U intends to cover ALL TS-2068 Disk Orive
Systems. These are} The Oliger Safe Disk, The Aerco FO-68,
The Larkin, and The 10S (Zebra). Eric Johnson (your contact
for the Florida Conputer Fest) has agreed to provide writer,
support for the LARKIN DISK system. By the January issue of
SOU ve should have a writer Lined up to provide coverage of
the 10S DISK systea, and another for the FO-6@ DISK systen.
Other good prograsmers and writers have promised articles
and programs for future issues. Misters Ton Kalogerson,
Robert Hartung, Dick Wagner, Roelof Mulder, and John
McMichael, have all promised to help with the writing. 1
really appreciate this and an looking forward to publishing
their works. As these and more writers join in, SOU will
becone the most exclusive source of up to date information
about the 19-2068 and its disk systess.
Want to call a Bulletin Board and leave a nessage for}
all to read, or get info about the Orlando Computer Fest?
Get your Hodea up and running and let your computer dial
904-775-0093. Use 300 BAUD, 8 ~ 1- none, as the log on
protocol (No Voice). This is Eric Johnson's BB (NY FLORIDA
TSUG), headquarters for the 88 Winter Computer Fest.
Eric also has a NEAT, and inexpensive OOCK RAM board)
which he will write up as a building project for SOU. This
fits in nicely with a EPROM programming article by Toa
Kalogerson, and one that I am planning for conversion of the
(Qliger) 64k RAM for the TS-1000 to a 64K Dock RAM to fit
into the extra slot of the expansion bus, BASIC programming
details will be given. These articles will be paced so that!
a similiar subjects do not take up a whole issue of SD).
Planned ara articles and progeans about such subject:
ast Dock Progranuing, EPROY Prograsxing, Extra Meaor)
Devices, Telcosputing, Interfacing, Disk Drives, plus nore.
The aaterial presented in SOV will not be designated &
‘public domain", but vill crenata the property of the weiter.
ach subscriber is given the prograns for individual use.
Nov, a bit on ‘self interest", Sose of you know that I ai
the author of the sofivare ‘Saart Text", and say b
wondering if SOU is sorething to feather ay nest. ST he
been on the market long enough that alaost everyone wh
wants it already has it, and 2 do aot have, nar do f inten
to have anything alse to sell. Haturally, f believe that 9:
ts a good and useful progeaa, and £'1] keep a “Subscribe!
Ad” in SOU offering it to any who wants a copy. You can a
tat also for any software ot hardvare that you have fo
sale, Free subscriber ads are given to encourage ou!
soflvare writers to produce, There are aany experi
prograsners in our sidst, but fev are producing products fo
sale because of the costs of advertising to a seal! use
group. Maybe sone will release their products via the Fre:
subscriber ads, $0, ‘how bout it", you prograssers? Let:
get your good prograas into circulation.
Plans and Organization
At this wetting there are 45 subscribers to SOU. Dont
laugh! These 45 cane froaa aail out invitation to only
100. All are SAFE OISK users. More subscriptions are
frickling tn each week, and another 100 aati outs to $0
users vill be done soon, The projection is tor 2-300
subscribers by July 88. Publication of SOU is “by year of
issues", which aeans that a subscription year ts OCT to
JULY, and each “nid year” subscriber vill recetve that
current year of issues, This strange set up does two fine
things. ft provides the new subscriber with the back up
issues that are supporting, and it sakes each issue ore
unifora in distribution.
I expect that the publishing of SOU will cost se about
$200.00 wore per issue than subscription incoae~ until the
subscription base reaches about 300 (the break even point?
The sales of issue diskettes can help this posture by
bringing in sual profits. {vill coastt to a full year of
publishing and see how 1 goes for the OCTOBER 88 issue.
Enthusiasu of the 1$-2068 users is the essential factor. IF
ve have that, and IF the subscription base builds, THEN
PERHAPS “SOU can becone a bi-wonthly, beginning with the Oct
88 issue,
The Lonesome Dack
I aentioned that the two prograns in this issue vera
designed for installing in a Dock Cartridge. To date little
information has been published about how Dock Cartridge
prograss, Hose bank Hewory, and Disk Drives can be "cross ;
utilized’. Pielura a 64K Dock cartridge that hag a aajor
softvare, plus the two prograns in this issue, plus THO HORE
sajor prograss, The aajor prograus are all edited to resove
ALL screan presentations and replace with a sisple disk call
(LOAD /*Hible"SCREENE). Each tine that ts done, the progran
length of the Dock Prograa reduces by 400 to 700 bytes, Cut
8 genus and screens and the progran length is reduced by
SEK,
Another aspect of Oock Prograns is the fact that the
dock progras contains 40 VARIABLES, Just pure prograasing.
Yariables can be identified in a dock progeas, but the vars
are STORE in Hore Bank, The CATA and vars in the howe bank
can easily be aanipulated by the dock progras. So can the
Disk Orive. Prograa planning can easily result in the Dock
Progran aanipulating at vill, Lts ova 64K of prograss, plus
SOK of FREE Memory in the Hose Bank, plus a "Million K' of
data in your diskette Library.
So far, the 18-2068 conaunity has not eabraced the bock
Cartridge with the enthwstase that it deserves. Articles
about Dock Prograuning have been very technical, presenting
the picture thet the use of dock cartridges is very
difficult to waster. The prograsser's job is to reduce
coaplexity to ‘user friendliness", and this can be done
easily. e will explore all of the above in future
articles. —=
HELP IT FLY?
&
---- fei
jocing F2A-+
The Programs for This Issue
Actually this page vas veitten after the outstanding
editorial of page 1 and 2, After reading tb Ldidn' think
it did justice to the two progreas of this issue, #0 res
expound & bit, and be sonerhat cepetetive,
a The fro prograss are in GRASH FREE BASIC, Exoth
prograas vere originally designed to consolodate into a Dock
Cartridge, along vith another sajor softvare, Vars files of
each are supportive, The disk drive is used to hold
supporting wenus for "009 MAIL MERGE®, thus saving about 2k
of progeas aenory, Ue vill pave a future acticle about
doing the Dock Cartridge transfer.
$003 MAIL MERGE? If you have ‘Pro-File* and Like it,
you'll also Like this softvare, There are vo flexible date
bases, One is the “sail aerge® base valch has up to about
120 fields of 7 Lines each, The wser decides the nusber of
fields needed ard gets the first dinension by prospt, Each
of the seven lines are set for 31 characters each, You can
rake the Lines longer or shorter by editing Line 2006 and
changing froa $f characters to vhatever you vant as a line
length. The peiaary purpose of thts cata base ves designed
to be a Mailing List, using the first tour Lines of each
group (field) for ‘address data linest, plus the ‘first
rane? of the indfvidval es the fifth Line, Then vo sore
data Lines are provided tor ancillary intorsation about the
person of coapany.
Labels and envelope printing uses the first four lines
only. Proapts alloy you to set up both vertical and
horozontal spacing to strike @ series of labels or envelopes
unitorely. Another prospt provides the option of printing
your ovn return address label atter each ‘out Label® prints,
Disk files of ealling lists ty be ordered tor loading and
printing. Also, autoaatic SAVE to disk by discrete tile
nuaber is a aenu option, The data base isfdeally suited for
any other purposes, such as setting up davolce tleldt,
inventory lists, aagazine article Listings, ot dust anythiag
that one needs to retain as date, The wen alloys &
selectable auaver of lines of the tlelds to be peiated,
Aulosstic page control with page nuaber is a option.
Sorting is provided by either first nara or last nant.
thea the data base Is used for inventory the sorting can be
by either stock nusber of aoun. Sorting in BASIC ts rather
slov, but nofavfully slow, and hoy often does one need to
sort a List?
The second data base ts *OUTLINE’. This data base is
entirely flexible and is set by input prospts fors ‘Kuaber
of Kajor Topics’, ‘Huser of Minor Lines of Each", end ‘Line
Length’. The printing (s set by Input of TAR, and Spacing.
The outline prints to input 148 for the axfor topics and
Tages tor the agnors. Autoratle page control and page
nusbers are optional. Centered Subject captions are also
optional. The xen alloys coaplete page aaragerent tor the
printing of either dita base. Ko supporting printer
‘softvare is required when using the SAFE DISK systex, a3 the
LET/es0 ot LET/P2T protocol is used in the progressing.
Prospts — staply ask whether you vant to print witha
Centroncis printer or the TS-200. *NERGE® L¢ MENU DRE! VEN,
every function before your eyes in slaple English.
ov can one nase a progran saat has six diverse
functions? J-URIL corbines nost ‘nvaber functlons* ageded
in cosputing. ‘.
MEMORY PANAGER is the first 3 useful utilitles for the
tachine Code progranser, Call it ‘alni z* it.you like, 2
originally designed it to avold having to convert hex to
dectsal to poke @ NG progran bo acxory. Then evolution took
hold, Teo DATA Lines are used to preserve a AC Code table.
dne data line 1s for a HEX prograt, and another data’ Line ts
for a Decleal progres. by plactag a He prograx iid data
line, the progres ray be SAVED to diskette before attespting
to run the XC progeax, Then the senu prospts for starting
address, READS the data Line, and Installs the progtak into
serory, THE HENORY DISASSENGLER vorks in reverse to PEEK
any selected segrent ‘of nesory- and print the block. of
addresses, The contents of each addressis given in Deciaal,
HEN, and Character code,
2. HEX-DECINAL-BINARY CONVERTORS Input a nusber fa
sither data base and the eguilivant is given in all three
data bases. Conversions are provided trax 0 to FEFFFF, or
16,777, 218 (18 HBYTES).
3. MULTT LATERAL MINED KATHE Dunno what elsa to cell
it. Whad ts FFAMD kines 215.9 decinal? Or, 7649941 divided
by Bid £10011? What is F49CA alous FOlAR? Or FFFAESA alas
BIN MIUMMILLIE1LI? thatevert? tho cares? Input any corbo
of axed nuxbers and the progras quickly gives the ansver.
ds BINCDECIMAL/HER GRAPHICS! A college class on
cosputer technology that attended a while back got avtully
hung up on this ‘subsect. A conceptual visualization of the
three bases helps. = & key puach brings on the graphic
correlations. ”
THE KEY=IN PROJECTS
fost short ubllities wlll sllp eight {nto coxputer
vithout auch de~bugging for key in errors. th ds the longer
progress that give problens. but the longer progrars are
usvally sore useful end enduring. Please oe assured that
all progray listings are actual LLISTS of 4 operating
prograr, SDV vill not atterpt to type out a program to wake
di fit dato a pege forsal, and risk typos, All will be
actual LLISTS frox the corputer, These tro prograns will be
difficult to avoid key dn ervors because of long and complex
Hines that eaploy Boolean expressions using brackets and
sath sysbols, Altera fev hours one teads to give up.
These two progrars are vorth the key ia effort
required. Both compare vith softwares for Apple and
Coarodore that sell for over $60.00 each, The *S0U ISSUE
DISKETTE?, af $16.00 ds the bargain of the year, tho else
can buy useful softrare at such a price? ‘issue Disketles*
contain all progears and utilities inan issue of SOU. They
are supplied on S14" diskettes in any foreat, The concept
of ‘issue clskettes" is to provide the author vith a little
bit of corpensation for bis efforts, and to provide the user
with usetul progeass and utilities, whtlesaving lots of
key-in tine acd frustrating ce-bugging. Later, we kay Aare
to increase the price, depending upon cost factors, We'll
see hov it goes for at Least one xore issug.
U Ym
ic N
hasic ul
OO < pA é (|
Ge’. :
G
O :
p® machine
Le te
~~ dos.
on a
About your Editor, plus Nostalgia
Way back in the turbulent ‘50's the USAF developed a gun sight which could, froa 20 atles,
automatically fly a fighter aircraft to a point in space to fire rockets, supposedly to destroy
a enesy boaber. Thus case into being our first real coaputer application. Back then the
transistor was a drawing board figment of engineering iaagination. ve used Vacuue tubes, and
ots of us, thousands in a systes. Cosputing was analog technology, using such ratheaatics
principles as trigonoretry, rotating vectors, scale factors, etc. You see, analog computing is
based upon Voltage coaparisons and measurements, rather than nuabers and aesory.
The F-89 Fighter aircraft was the largest fighter ever built, and it was a wachine built
around a electroncis package. The Radar and electronics package cane in at about tro tons,
including the wiring. That vas ay baby, to fly and to waintain, and to look forward to advanced
applications. The evolution of wilitary computing led the electronics industry. By the '60's
ve vere into Solid State devices, using diodes froa saall signal diodes to large high current
diodes. High current diodes cut 600 pounds fror a electronics package and reduced heat
considerably. Analog computing vas still the basis for computing.
The late 60's brought on ‘unreliable’ transistors, affected by heat changes and vibration.
Fev nilitary systeas vere developed to rely upon transistors. Then the aicro chip cage along-
strll very unreliable. but the industry began to lead the ailitary and find civilian
applications for the sicro chip in such applications a cash registers and tiaing systeas. It
wasn’t until the nid 70's that the ailitary could package electronics systeas that contained
nostly atcro devices. Still in Analog applications, the complex aircraft systea that weighed in
at two tons could be packaged down to about 500 pounds, most of the veight being in antenna and
transaitter.
Military digital systeas case in about the sane tine as the Sinclair 2X-8t in the 78-79
era. Then a systea veight of 400 pounds would ao more than a thousand tines as sany
applications and auch sore accurately than ay old F-89 (tro ton) systen. Most importantly, the
electronics industry was “uncoupled” fron military dominance. The world wide computer
evolution began, and the industry took off on it's own power based upon civil consuaption. Now
our wilitary systees are engineered and built with off the shelf ttens.
Being frox the horse and buggy days of electronics, your editor was delighted to have the
opportunity to buy a 24-81 (kit) for the bargain price of $199.95. But what a transition! Now
T had to learn digital, things like Binary, and Hex, and Prograaning languages! te who are
involved in electronics are constantly faced with a problem called “Obsolescence”. Take a year
vacation and one cones back to be overcone by technology advances. One aust be continually
engaged in his own personal education up-date prograa. ft is a aatter of tine sharing. In ay
case that is a tough thing to aster, what with having too aany hobbies.
1 awa avid 15-2068 computerist, a sailor, a commerical pilot and flight instructor, and I
Like to go golfing and fishing at least once or twice a weet. I's “between sail boats" right
nav, and schening on a way of corbining computing and sailing. (Anybody got a 38’ ketch for
sale under $2087), I've ordered a spare 2068 to go aboard ey next vessel and hook up to ship
battery, I's working on a program to navigate with the 2068 so that the sailor can get about §
hours of sleep while the 2068 is at the hela.
Now, tine sharing as it is, I refuse to pour over the S0U taxt for typos, dangling
participles, and split infinitudes. $0, some typos wil! be fixed with pen and ink and if ay
saashing of the Kings English is still understandable, then so be it If you becone irkedover
- pon-granatics just cose on down and go sailing. That's guaranteed to soothe any case of
ircitibilitis. 1 do believe that sailing and computing will aix well, so dont be suprised if
the January issue of SOU is published at sea, twix the tending of a trailing fishing Line. And,
I absolutely guarantee at least 10 gatts in English and several pen and ink changes in each
issue of SOU. See you in the islands! = a
bys Barnacle Bill, the Sailor
"I-UTIL® LISTING
“#>9800 G0 SUB VAL "9884": INK OF: BORDER 00: PAPER OO: CLS i P
RINT FLASH GASAT 00,083 "MULTI LATERAL MIXEO RUMBERS"S FLASH
00''TAG OBS*MEMORY ORGANIZER’'' TAB OF}*DISASSEMBLER"' TAB Os
"HEX DATA POKER''TAB ON}*OECIMAL DATA POKER*''TAB O83 INK 3}
*CONVERSIONS- HEX/DEC/SINARY'''TAG OB} INK S$*MATH WITH MIXE
D DEC/HEX/BIN®''TAB O63 INK 43"BINARY ANALYSIS TABLE": LET A
21) FOR N=f TO 40: BEEP ENT ((RNO$10)#1)/10, INT (RNOE35)2 IN
K As PRINT OVER QASAT 00,083" eb
ET AsAt: IF A? THEN LET Ax!
9801 NEXT Nt CLS ¢ PRINT INK oe} FLASH 1}*The ASSEMBLER/DISA
SSEMBLER"S FLASH oof" is designed to use DATA Lines to
rganize a Machine Code prograa in either HEX or Decinal, the
n SAVE/ the prograa to Diskette before atteapting to RUN
the MC prograa and chancing a crash. A CRASHED program can
be re- loaded from diskette and worked on. DATA Lines a
re 9878 (DEC), and 9880 (HEX)."'' The MC progran fs insta
lled in wenory at your selected startaddress."''" Select
d segaents of meaory are peeked and disasseabled as desire
dd." INK of} FLASH oas "MULTILATERAL KUMBERS"S FLASH Q0)*:*!
"The upper Linit for conversions and wath is FFFFFF h, 16,7
77, 218decimal.*'' INK o¢
9802 PRINT ‘Always enter hex in CAPS."'' INK odj*You aay do
aixed aath, aulbiply,divide, add, subbract. Watch the wen
u for electives."'' INK oej*For Division, enter largest
nuaber first."!'*Accurate division dividend ts expressed i
ndeciaal fraction, OISREGARO HEX DIVIOEXO IF THE DECIMAL
I$ IN FRACTION."'' INK of}*You say do MIXED addition using
negative DECIMAL nuabers, BUT KOT NEGATIVE HEX. If the SU
NM isnegative, the decinal SUM will be correct, but the Hex
SUM willbe false."'' INK odj*Nureric expressions for DECIMAL
input are O.K., det (PID), <2% PL SFILD « PEEK 2369542
$64 PEEK 236963-1)."
9003 INK of: PAUSE VAL ".14E4"S CLS t PRINT AT OJ, 08) "PLEASE
ENTER "} FLASH OAJ*CAPS SHIFT"$ FLASH 00)" MODE*''TAS 083 *T
HEN <"} FLASH QAJ*CONT ENTER*} FLASH 003")": STOP
9804 CLS : LET xysoot LET Tzoo: INPUT "Selects 1. Peek and 0
isasseable 2. Poke a Deciaal Table 3, Poke a
Hex table 4, Convert Hex-Dec-BIN §. tt
xed Hath 6. Binary Table"gMs CLS ¢ 60 TO ¢
adoa AND aDof)SVAL "9804"#(a)oo AND aCod)IVAL "9834"#(a)oc A
NO aXOG)VAL "9808"
9808 IF mxoe THEN LET xyzoa GO TO VAL "9986"
9810 IF azof THEN GO TO VAL *9934*
9812 INPUT "1. Dec to Hex, or 2. Hex to Dec 3. Quibe"st: IF
Keoa THEN GO TO VAL "9822"
9814 IF xeoe THEN G0 TO YAL "9804*
9816 DIM x#(6)2 INPUT "HEX Groups*sy$i LET x$=("00000"+y$ AN
O LEN y$=0a)#("0000"+y$ AND LEN y$=0b)#("000"ty$ AND LEN y$=
oc)+(*00"+y$ AND LEN y$=od)+(70"4y$ AND LEN ySsoe)#(y$ AND L
EN y$of): IF LEN y$)of THEN GO TO VAL "9816"
SSOLQDLET Ole(L048576R( CODE x$(0
A)-O) AND CODE x$(QAI(R)#(1048S762(CODE x$(QA)-P) AND CODE x
$(QAD>Q); LET O2=(65S363(COOE x$(08)-0) AND CODE x$(08)<R)+(
GSS36R(CODE x$(08)-P) AND CODE x$(0B)2Q): LET 03=(40963(CODE
x$(00)-0) AND CODE x$(OC)<R)#(4096%(CODE x$(OC}-P) AND CODE
x$(0C) 023 LET O4=(2563(CODE x$(00)-0) AND CODE x$(OD)<R)+¢
256H(CODE x$(QD)-P) AND CODE x$(00)2Q)s LET DS=(163(CODE x$(
QE)-0) AND CODE x#(QE)<R)H164(CODE x$(QE)-P) AND CODE x#(0E
DQ LET O6=(CODE x$(of)-O AND CODE x$(of)(RI+(CODE x$(of)-
P AKD CODE x$of)>Q): LET DEC#D1+02+03+04+05+06; LET MS=xhs
IF xyzoa THEN RETURN
9820 60 TO VAL "9826" .
9822 INPUT "Input Oecinal OR BIN Nusber: "s0EC
9824 DIM x$Cof): LET A#DECS LET B12INT (A/1048576): LET A=A-
8141048576: LET x$(oa)=(CHR$ (B1+0) AND B1X10)+(CHRS (B1+P)
AND 8179)! LET D2=INT (A/65S96): LET A=A-B2365596: LET x$(08
)a(CHR$ (B20) AND B2{10)#(CHRS (B2#P) AND B29): LET B3sINT
(A/4096)% LET A=A~B934096: LET x$(OC)=(CHRS (8340) AND 8941
O)+(CHRS (B34P) AND B3)9)s LET B42INT (A/256): LET A=A~B4225
63 LET x$(OD)#(CHRE (8440) AND BACLO)#+(CHRS (B44P) AND B4)9)
$ LET BS*INT (ACLG)3 LET AA~BSELG: LET x$(QED=(CHRS (BS+0)
AND BS<10)#(CHRS (BS+P) AND B5)9): LET x$lof)=(CHR$ (AYO) AN
D ACLOD#(CHRS CA#P) AND ADS): LET NS=x$2 IF xyzoa THEN RETUR
No: REM 13 IF THEN Conditionals this line
9826 CLS : PRINT "DEC#"}DEC}TAR 19;*HEK="}
9828 FOR nzoa TO of: IF a$(n)>*0" THEN FOR n=n TO oft PRINT
a$(n)ji HEXT ns G0 TO VAL "9832"
9830 NEXT nt PRINT "Oh"!
9832 G0 SUB 9946: GO TO VAL "9912"
9834 LET Tzoat INPUT "Start Adr? ")$: INPUT "ENO Adr? "JES:
IF Moa THEN FOR N=S 10 E: LET A=PEEK Ni LET X=Ni 60 SUB VAL
#9974"; GO SUB VAL "S856" t
9836 IF adoa THEN CLS $ PRINT ‘Working"s 60 TQ VAL "9842"
9838 IF ND=E THEN PRINT "OONE*''*Enter when Ready."s PAUSE 4
ed: 60 TO VAL "9804"
9840 NEXT N
9842 LET RTINT ($/256)3 LET GT=S-(RT3256)-oai IF GT<oa THEN
LET 61254: LET RT=RI-oa
9844 POKE VAL "23791",RT: POKE VAL "23730", T
9846 RESTORE (M=OB)SVAL °9878"+(M=OC)S¥AL "960"
9848 FOR N=S TOE «
9950 IF Meob THEN ON ERR GO TO VAL "9882": READ A POKE NAS
NEXT H
9852 IF N)*E THEN G0 TO VAL "9892"
9954 IF Mxoc THEN ON ERR GO TO VAL "9982": READ X$: G0 SUB V
AL "9876" POKE N,As NEXT N
9856 LET AsPEEK Xi PRINT X}TAB OGJANTAB OK}"d"}: GO SUB VAL
"9974": PRINT TAB OQsx$}" h*}s ON ERR GO TO VAL "9862" PRIN
T TAB VAL "24"3CHRS A
9858 RETURN
9860 ON ERR RESET : PRINT + RETURN
9862 ON ERR RESET : PRINT i RETURN
9864 IF AC33 THEN PRINT * *
9866 IF T=oa THEN RETURN
9868 POKE X,Ai IF N=A THEN PRINT “DONE*: BEEP oa,OL: 60 TOV
aL "9804"
9870 LET xextoa
9872 NEXT
Cent Neel Page
SO7ADDIN x$(08): LE
T BEINT (A/16)2 LET C#A-B416: LET x$(OA)*(CHRS (B40) AND BCL
O)F(CHRS (BAP) AND BDO): LET x$(OB)=(CHRS (C40) AND CX10)4(C
HRS (C#P) AND €>9)2 RETURN
9876 LET Di=(1GS(CODE x$(OA)-0) AND CODE x$(0A)<R)#(163 (CODE
x$CQAD-P) AND CODE x$(QA)2Q)! LET O2=(CODE x$(08)-0 AND COD
E x$(OB)4R)+(CODE x$(0B)-P AN CODE x$(0B))Q)s LET AD1+D2%
RETURN
9878 DATA 84,104, 105, 115,92, 100,97, 116, 97,32, 116,97, 98, 108,1
01,32, 105,115, 32, 115, 104, 111, 114, 116, 46,1000
9880 DATA "54", "68", "69," "60" ,173%, 767,720", "69",
"79" "207 ,"69", "GE", "20", 760) 65%, "GD", GF", "72", "79", 226",
*sTop*
9982 ON ERR RESET $ CLS $ PRINT ''*The wessage is in nenory.
The starting adr "39j", "'/*Use the MENU to PEEK it out
LT PCENTERD!Y PAUSE WAL "4e4": CLS ¢ G0 TO VAL 79804
9904 LET oo=0: LET xysoot LET oa#lt LET ob=2: LET oc#3: LET
od=4i LET o¢#5: LET of=6: LET O6=7: LET OH=@: LET O19: LET
QUeL0: LET OKeLL: LET OL=12: LET OM=19: LET ON=L43 LET OP215
+ LET OQ=16: LET ORS17: LET OSe1@¢ LET OT=t9: LET QU=20: LET
O49! LET PeSss LET Q2643 LET Re6Ss LET A*OA: DIM U(24)} FO
R Net TO 26 LET UCN)#AL LET AaA#AS NEXT Ni RETURN
9886 INPUT "Select Choice:
41) Add <2) Subtract 3 Multiply
45) Hone Menu "Iglt IF gl<oa OR gldoe TH
44) Divide
EH G0 TO AL "9886"
9888 IF gl=oe THEN 60 TO VAL "9804"
9890 CLS $ INPUT "First Humber REX or DEC/BIN? © <1) Hex
42) Dec/Bin*sML IF ml<oa OR at?ob THEN 60 TO VAL "9690"
9992 INPUT "Second Number HEX ot Dec/Bin? (1) HEX <2) Dec
(Bin "pr2i IF w2Goa OR e2dob THEN G0 TO VAL 19892"
9894 IF aleoa THEN INPUT "INPUT First Nusber (HEN) "ly$t IF
ys="" THEN 60 TQ VAL "9694"
9896 IF mlzob THEN INPUT INPUT First Nuxber (Dec/Bin)
yst LET nfaVAL ys: IF y$="* THEN 60 TO VAL "9896"
9998 IF a2°0a THEN INPUT "INPUT Second Nuaber (HEX): "Jz8i 1
F z$="* THEN GO TQ VAL "9898"
9900 IF a2=ob THEN INPUT "INPUT Second Nuuber (Dec/Bin) "4
zht LET n2=VAL z$t IF z$="" THEN GO TO VAL "990°
9902 DIM x$(of)t IF wtoa THEN LET xSe(y$ AND LEX y$=of)+("0
"sy$ AND LEN yS20e)+( "00" +y$ AND LEN y$z0d)+("000"+y$ AND LE
N y$#0c)#("0000"#y$ AND LEN y$eob)+(*00000"+y$ AND LEN y$0a
)#(7000000" AND y$2""): GO SUB VAL "9816": LET nl=0EC
9904 IF M2-0a THEN LET x$=(z$ AND LEN z$sof)+("0"+z$ AND LEN
z$=00)4("00"#2$ AND LEN z$"od)+("000"#z$ AND LEN z$#0c)#("0
00%+z$ AND LEN z$20b)+("00000"4z8 AND LEN z#=0a)#(*000000"
AND zf="*)s GO SUB VAL "901": LET N2=DEC
9906 IF Glzoa THEN LET DEC=NI#N2t G0 SUB VAL "9924": PRINT y
Ch? AND Misoa)+(#d® AND Ml=ob)y"#"9z85("7N" AND HZe0a) +("d
* AND M2=ob)5"=")DEC"d"y" and "3
9908 IF Gl=oa THEN FOR N=oa TO oft IF MS(N)>*0" THEN FOR N=N
TO off PRINT HS(N)3! NEXT Ni PRINT *h'': GO TO VAL "9912"
9910 IF Gl=oa THEN NEXT Ni PRINT "ht?
9912 IF @leob THEN LET DECeNI-N2t G0 SUB VAL "9024": PRIKT y
$yCth® AND Misoad+("d® AND Ml=0b)3"="3z8) (*h* AND H2e0a)+("d
* AND M2=0b)]"="JDECS"d and"
9914 IF Gl2ob THEN FOR Nel TO oft IF x$(X)>"0" THEN FOR N=N
TO off PRINT x8(N)}3 NEXT Mt PRINT *h*'s GO TO VAL "9918"
4
i
916) F Glob THEN REXT Ni PRINT "Oh?!
9918 If Glroc THEN LET DECeNLSN2: G0 SUB VAL "9824": PRINT y va
$7CTNe AND Hl=oa)#("d? AND Misob)p" 4 "3z8) 07h" AND W2z0a)+¢
| fd" AND M2-ob)}*="70EC}"d"y" and "$
9920 if Gizoc THEN FOR Neoa TO oft IF x$(N)>"0° THEN FOR WEN
TO oft PRINT xS(N)$ NEXT Nt PRINT "ht"; GO TO VAL "9924"
9922 IF Gl-oc THEN NEXT Ns PRINT “Oh!”
9924 IF Gleod THEN LET DEC=NI/N2: GQ SUB VAL "9624": PRINT y
SCRE AND Hlzoa)#(%d® AND MLeob)s* / "4z85(*h" AND M220a)4(
*g" AND M2z0b))"="}0EC}"d and "y
9926 If Glrod THEN FOR Hroa TO oft IF x$(n)>"0" THEN FOR KEN
TO off PRINT x$(ND$$ NEXT Ne PRINT *h"'s GO TO VAL *2930°
9928 If Gleod THEN NEXT Ni PRINT "Oh"!
9930 60 SUB 9946: 60 TO VAL "9886"
9932 60 TO VAL "9986"
9934 CLS PRINT “ALLL L112 1422 LULL L411 L421"gAT 00,20) 0
VER 1} FLASH 13" "y OVER OO} FLASH O0''*From Right T
oLeft, the Binary bit data is given for a 24 bit BIN grow
p. Left coluan is bits 1-24 with bit content, GROUP = Cont
ent and progressive possibleTotal content.*''t LET art: LET
beO: LET C00
9996 FOR y=t TO 24 STEP 4: G0 SUB VAL "9940"S PRINT TAB 103b
"NEXT y ca
9998 PRINT ''"BIN-HEX-DECIMAL DIGIT AND GROUP ANALYSIS" 'TAB
QV"FYSTAB 7pF' TAR 125"F*STAB 175"F "STAR 225°F*STAB 27) 'F*
COPULLL LEE ALLL ALLL L2LL "J FLASH OAS"L111"3 FLASH OO''** Aaoos
hte sees nena eee [eitag 2ppatee ginasens anee cee
884 GPETTAB 25)"° 8 Lt'TAB 20)4°°°°'3TAB 20)"F
I5"'TAB 20} FLASH OAS*LLEL'| FLASH OO'***** * race
sees tg TTRB 2098" 92tTAB 205°" 64 GP=2!
: 128 Fe2g0"'TAB 15} FLASH OAS*LLL1") FLASH QQ'*****
oe seo" 256" TAB 15)"°** S12"'TAB 153"** 1024 GROUP :
-a"'TAR 15)"° 2048 F#3840"
9999 PRINT TAB 10) FLASH OAJ*I111"} FLASH QQ'***** “*** ****
A,0968'TAR 10)7***_8, 192"! TAB 103°" 16,984 GROUP~4"'TA
“192,768 F=61,440"'TAB $3 FLASH OAS"L111"} FLASH ..
CS 65,596"'TAB S59°** 131,072"! TAB S4***_262, 144
GROUP-5°' TAS $3"*_524, 288 Fe983,040"' FLASH 0
ASTLLLLS FLASH OO'*****_1,048,876"'"*** 2,097, 182 GRO
p-gr'r** 4,194,304 F#15,728,640"'"*_€,388,608"''*T0T
AL CONTENT=16,777, 2157 L6MBTS"'' FLASH oa} "ENTER"S FLASH 003
* When Ready"t PAUSE VAL "ded": CLS: GO TO VAL "9804"
9940 LET C=00: FOR n=OA TO OD: PRINT at LET b=bta: LET CHCA
{ LET aeat2: NEXT nt PRINT FLASH OASC} FLASH OO}
9942 RETURN
9944 FOR n=oa 10 od:
RETURN
9946 LET M=DECs DIM T(24)3 FOR N24 TO 1 STEP ~1¢ LET T(N)=(
1 AND M>=UCHD2#(O AND MCUCND DS TF TOMD=4 THEN LET M=H-U(N)
9948 NEXT W
9950 ="; FOR N=24 TO 1 STEP -13 IF T(N)@1 THEN FOR Y=
1 TON: LET T$TS+STRS TCV): NEXT Ys G0 TO 9953
9952 NEXT N
9953 LET Ms="": FOR N=LEN T$ TO 2 STEP -1i LET Mf=H$+T$(N)E
NEXT N
9954 PRINT ''*BIN="$M$% RETURN
—~ Bed —
PRINT at LET bepta: LET asb¥ob: HEXT ni
ae
Quick and
THE QUICKIE LIST: Sometines the shorties are the most
useful This one was sent by Mr. Robert Hartung. Did you
digest his articles in CTM? If not you should back up four
issues of CTM and dig his series. (quote? To make a hard
copy of a disk CAT for, labels, or an index, or a copying a
streent {OPEN 4#2,"P": LET /p=0) When CAT/ is entered the
disk directory goes to the printer instead of the screen.
Or, any PRINT statement will go to the printer. Uhen
finished, <CLISEH2) to terminate. (Thanks Bob!)
YES - HO INKEY$ for use after a pronpt requiring YES or
NOt G0 SUB 200 will cause line 200 to loop itself until a
Y, y, N, or nkey is touched. YES assigns z=1 or NO assigns
272, <200 PAUSE VAL "4e4"s LET T= INKEY$ ¢ IF TS<)"y* AND
TSQ)ty* AND T$<)"n" ANQ T$<)*N" THEN GO TO 2002 <202 LET
z=(1 and T$="y" OR t$="¥")+(2 AND TS="0" OR T$=*N"s RETURN)
INKEY$ Prompt for any key: Any key touched will result
in its character being input to TS, Numbered characters
will be represented by variable 2, Ideal for use with (40
SUB) after menu that has several selection options. (200
PAUSE VAL "ded": LET TS=INKEY$! LET z=CODE T$-48: RETURN).
KEY LOCK after the above INKEY$ routine is used: |
Suppose that you have a MENU with 9 selection choices 1-9.
460 $U8 200 will wait until a key is touched, then assign
"Zekey struck". BUT, we want to lock out all except 1-9.
490 nenu print statements: G0 UB 200) <102 If 241 OR 2)9
THEN GO 10 90). Better still, lets use one line to lock the
keys, PLUS- take acbion on ALL 9 menu selections. <102 60
TO (xX OR 299)K904 (r=4)9150+ (22282004 (z=3)4300+
(r=4)$400+ — (z=5)¥5004(z=6)%6004 = (z=7)4700+ (z=8)8800+
(12974900), In this case there are 10 IF THEN logicals in
line 102 that sends the progran to the line numbers
following the condition enclosed in brackets. (BOOLEAN
Logicals works just fine, and conserves lots of memory, We
will publish an article soon about Mr. Boolean's 19th
Century works and how the logic applies to BASIC Computer
programming.)
THE SO0S PRINTER ORIVER: <LET /P=0) enables the built
in Centronics printer driver. LPRINT commands then sends
character streams through the Qliger or Aerco printer
interface to a centronics printer, There are two TS-2068
Renory addresses that one needs to know. The LET /P=0 safe
disk command "zeroes address 23924, which is used as a
avitch to command a line feed. If PEEK 2924=0 then NO line
feed is directed by the printer driver. So, if your printer
requires a line feed, you aust POKE 29324,10. Another
inportant address is 29923 which contains "Maxiaum Line
Length’. LET/P=0 places 255 as the content of Adr 23323.
For post printers this is 0.K., even if the printer's
naxinua line is shorter than 255 characters, If you want to
limit the printed line to any given length, say 60
characters, then POKE 23323,60. Then you aust take TAB into
consideration, For examples <LPRINT TAB 20;A$? would be
O.k. if the length (LEN) of a$ were 40 characters. An
additional character (41) would force a line feed and wrap
print to the next line. A problea would occur if printing
Easy Routines
lines of a character array where the eapty ends of the array
lines are spaces. LLISTS in columns of 60 lines are easily
printed by <LET/P=0: POKE 23323,60: LLIST>. If you vant
double spaced LLIST lines, add <POXE 29324,10) before the
CLIST command,
SOFTWARE CHECK OF PRINTER STATUS: This may cose as a
"EUREKA! revelation’ 0 some who are having trouble
constructing program lines to COMMAND A PRINTER to change
formats or print styles. When your printer is sitting there
vith lights on, it is in a READY STATUS. To be sure you can
Type <PRINT IN 127 ENTER). If the printer is READY, a "237"
vill appear on screen, When constructing progran lines to
CONMANO the printer to do such things as changing a print
style or set EXPANOED characters, the prograrming is <OVT
127,nunber) then (QUT 127,another number) until all required
"change commands" are sent. The problew is, a printer is
slow to execute the comands, while the computer is fast in
sending the commands. Most likely, the computer will finish
sending three or sore commands before the printer has
| executed the first one. As a result, the printer may not
SEE sone commands. 4 program loop is needed to make the
software WAIT until the printer is in a REAQY status, Here
Jit ist <$00 IF IN 1275253 THEN G2 10 100)t RETURN). When
the printer is NOT READY, the command <PRINT IN 127 ENTER)
returns the nuaber 253 (BUSY). So, a <G0 SUB 100) placed
between each printer command will loop at line 100 until the
printer is READY, and then RETURN for the next command. The
COKKAND LINE would look like this: <50 60 SUB 100: OUT
127,27; GO SUB 100: QUT 127,60). A printer BUSY status
jwould hold up each command at line 100 until the printer
status changes to READY (237).
PSEUDO HEX YARS TABLE with LETTERHEAD GATA
This vars file can be stored in disk for call up to
your programs. Numbers 0 through 20 are represented by
"double QO vars" as, 0050, ob=2, oc=3, through ous20. When
used in a program, each number 0-9 usage will conserve §
bytes of memory. Each usage of the vars for numbers 10-20
conserves § bytes. N$ array is set up to service a
LETTERHEAD, SIGN OFF, and SALUTATION BLOCK needs for letter
correspondance. See the listing for designations.
§ REK 2X4 Type <CLEAR? then <G0 SUB 10> then <SAVE/"pseu
"VALNote the letter support data forN$ array. Array lines
1-S are reserved for Salutation block: {Company name. 2=)
ept, d*Streetaddress. A=City State Zip. 5= correspondants
first name. L0input date. {l=spare ling.
§ REM $4%Use (LOAD/"pseu"VALDin a program line to initial
ize the variable table into a activeprogran,
10 LET oo=03 LET oa=ti LET ob=2: LET oc=9: LET od=4: LET 0
e=5; LET of=6: LET og=7+ LET ET of=9: LET
ok=iti LET ol=12: LET om=13: LET on=143 LET op=15: LET oq=16
2 LET or=17: LET os=18 LET of=19: LET ou=20: DIM n$(13,31):
LET n$(6)="letterhead first line": LET n$(7)="second Line":
LET n$(8)="third line”: LET n$(9)="fourth line": LET n§(1t)
s'Sincerely"! LET n$(i9)="Signature line": RETURN
3
Programming with SDOS BASIC Commands
{LET /0=0?: The range of disk selection is 0-3 to select one of up to four
drives in a system, where disk number zero is the first disk and disk nunber three
is the fourth disk. Oisk drives are connected via to cables, the 36 conductor
data/control cable, and the 3 conductor power cable. When a <LET /0=) command is
sent, the SD0S sends "switching signals” to the “drive nunber selected by the LET/0"
command’, The signal "turns on the drive power”. The disk door handle (most disk
drives) is also a switch. When the door handle is open, the disk drive cannot be
selected. When the door is closed, the drive may be selected. The power supply is
passive, in that power is supplied to all disks, ready to be switched by SD0S.
The cables to the disk drives are very simple. Connections are parallel. Each
disk drive and the SD0S controller uses the same 36 pin connector. These connectors
are simply "pressed on” to the 36 conductor cable and spaced so that the connectors
will reach the plugs of the disk drives, For nore than one disk drive, the pover is
connected via "Y splitter cables’. The parts to fabricate these cables are widely
available and quite inexpensive.
Host disk drive power supplys have sufficient power to operate four drives. If
erratic operation is experienced while operating a multi drive system, the door
latches of all drives except the one in use may be opened to relieve the pover
drain. | Power supplies should be enclosed ina netal cabinet for shielding. The
signals carried vithin the 36 conductor cable can be distorted by radiation of EMF
from a un-shielded power supply. Also, diskettes placed within range of such fields
can be made un-readable
Although ve are limited to four "addressable" disk drives in a $00S system,
wore drives may be operated. At right is a “speculated? systea of eight drives of
different size and track formats, Such a system vould allov the use of 3°, 5 1a"
and 8" drives ina system, and two of each type drive. Yhen more than four drives
are connected, all except the one in wse should have the drive doors open so that
the parallel drive is dead. Parallel drives are two or nore that have the internal
drive switches get to the same “drive number". One other consideration is the
"terminating resistor’ should be in the active chain, I hope that someone will
connent upon this, as I have operate ny four drive unit with the "door open* on the
drive that has the resistor, and no ill effects have been noted.
{LET /S+1) would be needed after a drive has been selected IF the disk is a
single side disk (it has only one read/write head). The $00S systea will set itself
for double side drive if there is no LET/S=1 command. 05/00 diskettes may be used
for single side forsats, but not vice versa. A diskette that is formatted with
LET/S1 can be written to or read from by a 0S/00 drive, but a single side drive
cannot read a disk formatted with LET/S=2.
ALET/T=40) establishes the foraat for 40 tracks. Normally a 40 track diskette
will format to 41 tracks and give reliable read and write results, This will give
400K of disk free on a 40 track or 805K on a 80 track diskette. A diskette will
accept LET/T#44, and will indicate a good forsat, however I have found that the
capacity is really only 400K, and disk read/write errors occur if there is an
attempt to store more than 400K. (LET/T=82 and 805K for 80 track drive).
I have had alaost a year of trouble free disk operation with two § 1/4" 09/Quad
DENSITY drives purchased from BG Hicro (price $89.00 each) One of the original
drives vould not read/write upon receipt and was replaced promptly and without
question. (1 thought some would like to know this.) SOU vill discuss sore about
the S00S BASIC comsands in each issue.
EXPANSION
foaT-
cd
ad
Diss 3 ie 1
a" DS
y1 Ae,
| Brno Bra
o
YY
dsr Acs
3" DAvD
i
SY"GOTR 3
V3 | ra ben
ke
pear yee
5%" dsb
VEL | py TR
off
Disk O
5%" Ds/od
4oTR
-—| Dish
Powder
Supply
Software amd Hardware
ARTICLES
and
REVIEWS
About Disk Drives
There are rany types of disk drives available.
Coanodore introduced a3 1/2 inch drive with their
Amiga computer. Now IBM has a new 3 inch drive. We
Sate Disk users have a system that will work with
alnost anything that can be hooked up to a "Shughert
Standard Parallel 1/0" Disk Drive. Safe Disk uses a
standard 36 pin data cable. Thats great, but we
need to think about some things before dashing off
and purchasing =a disk drive. Of primary
consideration is whether the drive that ve purchase
will be supported by most of our software suppliers.
Another thought is the cost of the diskettes for the
drive that we purchase. Still nore} Ooes the disk
format enough space to support “disk dependant
software’. Lets explore soae of these factors.
Software Suppliers aost generally supply their
softvare on 5 1/4 inch, OS/0D, diskettes. Not aany
suppliers of TS-2068 software are willing to
purchase another disk drive to support a few owners
of 3 inch, 3 1/2 inch, 8 inch, drives. To the Safe
Disk user this means that at least one § 1/4 inch
05/00 drive will be needed in order to take
advantage of available disk software. Fortunately,
Safe Disk will easily acconuodate "nixed" drives.
That is to say, one can hook together a 2 inch
(Portugual) disk drive with a standard & 1/4 inch
05/00 drive, and work fron one to the other, In
such case, < LET /d=0: LET/s=2: LET /t=40: SAVE
/"nane” ) would save a nenory program to a “double
side 40 track’ (Double or Quad Density) drive in
drive 0.
< LET /d*1t LET s#1s LET t=40: SAVE /*name” >
will save a progran to diskette in drive { when
drive 1 is a "single side drive’. In either case,
the "size" of the drive is uniaportant, These two
examples are typical of a “drive mix’ of a5 1/4
inch 08/00 in drive Zero, and a "Portugual 3 inch"
drive in drive 1. All other Safe Disk
LOAD/SAVE/FORMAT commands work as well for such a
drive mix. The beauty of Safe Disk is that it
allows "progran coamands” to svitch operation frow
‘one type of drive to another. Most disk operating
systens are fixed in the interface firavare to
operate with only one type of drive. How does one
"hook up" two drives that are different? Thats
sinple too, Another 36 pin connector is simply
"pressed on* to the existing data cable for hook-up
to the back of the second drive. These press-on
connectors are widely available. Also, a *Y
splitter’ power cable is attached to the existing
drive power cable that connects to the disk drive.
So, getting into business with a second disk drive
"of another size" is very simple. What about the
cost? Well, one firm "BG Micro® sells TEAC 0S/00,
40 Track drives for $69.00, The sane fira sells
1/42 80 Track, Quad Density drives for $89.00 each.
The "Y Splitter* and Qata Connector can be purchased
for about $3.00.
For about $75.00, one can add a standard 40 or
80 track drive to a Portugual Orive, have the best
of tvo excellent systens, and load software supplied
by our vendors. My drive configuration ist Tyo
0$/00, 40 track, plus Two 0S, Quad Density, 80 track
drives. The 40 track drives format to 395K
capacity, and the 0 track drives format to 795K
each, for a total disk system capacity of 2370K.
The nice thing about using this six of 5 1/2" drives
is that the diskettes are interchangable. Prograus
on a 40 track diskette will LOAD in the 80 track
drives. Also, 80 track diskettes will FORMAT to 40
tracks and become usable in the 40 track drives.
Another good point is the cost of the diskettes,
about 59 cents each from gail order sources.
Disk Dependant Softwares The concept is to
elininate all menus and screens from the aother
progras. Put thea in disk for quick boot in as
needed, This saves about 1/3 of a prograr's length
an allows many nore functions to be added. Also,
data files are duaped to dist before computer menory
becones full, and variable files are saved to disk
for use by the nain progran. Next, with the new
NERGE capability, entire segments of a program can
be saved as ‘program cells” in diskette, to be
MERGED to a software program as needed. The concept
allovs the software to have a “program length” that
far exceeds the memory capacity of the computer's
RAK, This requires lotsa disk capacity, aore than a
single side disk can hold. This is another reason
that at least one disk in a system should be a
double side disk. The single side disk just does
not format enough disk capacity for such programs.
So, whether ve like it or not, the "Standard*
for most small computer systeas is the § 1/4 inch
DS/D0 Drive. The 5 1/4 inch diskettes are the least
expensive. The drives theaslves are less expensve.
The 0S/DD drive formats enough continuous disk
capacity to accomodate extensive "disk dependant”
software. And, all software vendors support the 5
1/4 inch 08/00 drives.
By: Bill Jones
SDOS MAIL MERGE
Complete This Issue
A Major Software for S005
The feature program for the October 88 issue is “$00S))
WAIL MERGE", a major software that was designed specifically |
for this issue. There are several reasons why this softvare
is special, and vhy almost all will surely want it. First,
it is the ONLY “printing software’ that will work AS IS with
ANY Centronics printer, plus the TS-2040 printer. There is
absolutely no monkeying around changing line nunbers
required to make it print with "brand y" printer. Second,
it has many more features than just a Mailing List software.
It is a "Dual Data Base" and printing software that can be
used for many purposes. Third, the data products are siaple
Character © arrays that can easily be transferred from
diskette to other operating softwares, using the LOAD
P*X"DATA x80. comaand, I
The purpose for designing S00S for SAFE DISK UP-DATE
vas two fold 1. A good software of this kind was not
available. 2. A vehicle was needed for illustrating the
versatility of SD0S. I'll tell you a little tale on ayself
to make a point. A year AFTER buying a new Edsel, I
discovered that the seat would tilt forward, as well as
adjusting fore and aft. We have that nice SDOS system which |
has many many capabilities to discover. Safe Disk Up-Date|
vill try to reduce the discovery time. This software can!
unveil many tricks of S005 prograwaing AND, it will
definitely fill a gap in our T$-2068 software needs.
FUNCTIONS
There are two main data bases, both flexible to the,
user, The "main" data base is for listings of all types,
"Mailing List” being the common usage. A "field" consists |
of 7 lines of data. The data lines are organized by “field!
nunbers" as follows: 1. Company Nawe. 2. Department. 3.
Street Address. 4. City, State, Zip. 5. First name. 6.
Telephone ‘Nbr. 7. Other data. The operator is prospted to
"Input Number of Fields". This allows from one to about 120
fields to be organized. Then prompts ask for inputs by line
number. A Listing can be discontinued at any time. Menu
choice allows "adding to" the list at any field number. $0, /
if one inputs 20 names and quits, the next entry can be),
started at ‘field 21" by prompt. Menu choices are: 1. I
Start New. 2. Correct. 3. ADD TO, 4. View, § i
Print/Labels/Envelopes. 6. SAVE. 7. DELETE Data. 8. Sor
File. 9. LOAD File from Disk. i
Ancillary functions are! 1. Centered Captions. 2. Page |
Management. 4. Directed Line Space. 5. Directed Page End. 6.
Print a Centered Letterhead. 7. Print a Sign Off. 8. Single.
or Oouble line spacing. 9. Change Line Length. 10. Set Up a-
Qutline. 11, Print Outline, The "Qutline Functions”)
a
Program Listing
490 INPUT "Number of Mailing list Names?"sht LET k=h: LET b$="
402 INPUT "Sort by: <1) First name 42 Las
4 name"}z
404 IF z=oa THEN 40 SUB VAL "£010": 60 TO VAL "S00"
406 IF z=ob THEN GO SUB VAL "640": GO SUB VAL "L010": G0 SU
8 val “670"
500 80 TO VAL "2000"
640 CLS : PRINT FLASH oajAT oj,caj"Last Name Reverse 40 Se
conds"jAT ck,oaj*Line 640°: FOR n=oa TO hi IF o$(n,oa)(oa 10
od)=" " THEN NEXT nt RETURN
642 LET b$=0$(n, 0a)
646 IF BSCLEN b§)=" " THEN LET bS=b$( TO LEN bS-oa); 60 10
VAL "846"
650 FOR 1*LEN b$ TO oa STEP -oai IF b$(oa TQ od)="
N NEXT n
652 IF mk THEN RETURN
654 IF bS(1)=" " THEN LET o$(n,oa)=b$(1¢0a TO )+* "#0$(n,oa
YC TO Let NEXT a
656 NEXT 1
668 NEXT 0
660 RETURN
670 CLS $ PRINT AT oj,oas"Replace First name- 40 Seconds"iA
T ok,oas"Line 670": LET b$=""
672 FOR nzoa 10 kt IF 0$(n,oa}(oa 10 od)="
+ RETURN
674 IF ndk THEN GO TO y
676 LET b$=08(n,oa)
682 FOR 10a TO LEN b$: IF b$(1)=" ’ THEN LET b$=08(n,oa)(l
toa TO): 60 TO VAL "686"
684 NEXT 1
686 IF DS(LEN bS)=" * THEN LET b§=bS( TO LEN b$-oa): G0 10
VAL "686"
688 LET o$(n,oa)=b$+" ‘+o$(n,oa)( TO 1)
690 NEXT 9
692 RETURN
1010 CLS ! PRINT AT oj,oh} FLASH oag’Sorting- 1 Minute"JAT o
k,ohj"Line 1010": O1M vb(of,31): LET neh
1020 LET T=N-oa
1030 FOR J=oa 10 1
1040 LET K=J+oa
1050 FOR L=N TO K STEP -oa
1052 IF o$(1,0a)(oa TO od)=" * THEN GO TO VAL ‘1100"
1060 IF o$(L,0a)?0$(J,oa) THEN G0 TO VAL "1100"
1070 IF 0$(1,0a)(oa TO od)<)" “THEN LET b8=o$(L, oa): LET
y$(oa)=0$(1,0b)! LET vé(ob)=0$(1,0c)! LET v$(oc)=08(1, 0d):
LET v$od)=08(1,0e): LET vS(oe)=o$(1, of): LET v8(of)=08(1,09
)
1080 IF o8(1,0a)(oa TO od)<2” "THEN LET of{L,oa)=o8(J,0a
) LET of(1,ob)=08(j,ob)! LET o$(1,0c)=0$(j,0c)s LET o$(1,0¢
)=0$(j,od)! LET 0$(1,0@)=08(j, oe): LET o$(1,of)=08(j,of)% LE
T 08(1,09)=08(j,99)
1090 LET o8(J,0a)=B8: LET o9(j,ab)=vS(oa): LET o${j,0c)=v$lo
b)t LET 0$(j,od)=v$(oc}: LET o$(j,oe)=v$(od)s LET o8(j, of =v
$loe): LET 08(j,0g)=v8(of)
1100 NEXT
1110 NEXT J
1120 CLS : FLASH 09
1130 RETURN
2000 CLS : PRINT AT 2,6) INK S3"MAIL"}TAB 195 FLASH 1](*Yes"
AND LEN o$(€1,1)21)4("No " AND LEN o8(1,1)<2)3 FLASH OF" ML
DATA''TAB 9}"MENUSTAB 195"FREE="3 FREE 3" "''TAB 63 INK 6
s*X1) Start New''TAB 6} INK 53°42) Add to List*'TAB 6} INK 6
cenT —
"THE
"THEN NEXT
involve a second flexible data base to use for producing a
outline with aajor and minor topics. Printing of the
outline is in the outline format vith selectable TAB for
najor topics. Minor topics are then indented five spaces.
OPERATION
Other uses of the mailing list data base are: Invoices,
Inventory lists, Telephone lists, Magazine article indexes,
or any data groups that one can set up in 7 line fields.
The capacity of the mail/inventory data base is about 120
fields, as progranmed. The fields may be dimensioned larger
or smaller by simple line number adjustment (Line nbr 2005).
Simplicity presonified! You just cannot get into
trouble, and the software is crash proof. A sistake in
operation vill result in a ‘report code” stop. The cure is
(80 TO FMD in every case, <GO TO FM> presents the Function
Nenu, and all program paraneters are preserved. There is
only one possible exception to this easy fix. If you have
established a “outline data base” and then you select “Start
New” at the Mail List Nenu, it is possible to “over
dinension® the mailing list data base by input of too large
a number for "Number of Fields". When a coamand is given to
DIMENSION a character array, and insufficient memory exists,
the vars file is corrupted which results in a CRASH. Now
this little blurb on operation is indeed skimpy, but what
can one say vhen words are not necessary? The Menus provide
ample guidance with literal selection choices, thus no need
to study instructions.
The Mail/Inventory List Printer: A prompt asks for
"Input Number of Fields to print”. If printing labels or
envelopes, "4" would be the correct input. Then "TAB, and
Spaces between’ are proupted. Inputs allow the printing to
strike the labels or envelopes uniformly. The software
differentiates between a three or four line address and
spaces accordingly. Another prompt asks, “Twin Labels?”.
If Yes, then your own return address label prints between
each "out label". When you want to print inventory or other
data set-ups, an input of 7 will result in all 7 lines
printing. Any number of fields 1-7 way be elected to print
out.
Menu electives set up automatic SAVE or LOAD of the
data bases OR a program that contains data. A proapt “Input
File Number" makes each LOAD or SAVE discrete. LOAD
selections result in the disk catalog presented on screen
vith a pronpt "Input File Nae", The Load is automatic and
the Function Menu appears. Ab that time all software
functions are available.
PROGRAMMING
$00$ Mail Merge utilizes the <LET /P=0) or (LET /P=T)
functions of $005 to print with any Centronics printer or
the T$-2040. Inputs allow the configuration of desired line
length for any pre-set print style. The built in $005
printer driver is used for printing. The software itself
Program Listing (cont.?
{ $743) View List"''TAB 63"44) Correct List*'TAB 6% INK 555)
| Print Lab/Env/Inv"'TAB 6} INK 63"<6) Disk SAVE"! "TAB 63"<7)
| Oelete Mail Datat'TAB 63 INK 53°48) Sort File*' TAB 65 INK 6
| g"<"} FLASH 13"9"3 FLASH 03") Function Menu"! 'TAB 6} INK 53"
|) (0) LOAD Mail File*'’TAB 63"Page="ipgi" “}TAB 20;*Line="ion
| 2002 PRINT AT ot, okipgi" “SAT ob VAL "25"snnj" “SAT ob,oty F
| LASH oaj(*NO * AND LEN 0$(0a,oa)<ob)#(*Yes" ANO LEN o$(oa,oa
))oa)s FLASH oosAT oc VAL "24°s FREE
2003 GO SUB SQ: 80 SUB Tl: GO TO (2400 OR rrDL)EVAL *2000*+(
Z=OQ)¥VAL "9020*#(Z=0A)SVAL *2004"4(z)0A AND Z2(QF)3VAL "2007
"4(Z20F EVAL *2600"+(Z=06) 4VAL "205B"4(Z=0H) AVAL "400°+(Z=01
)aFA
2004 CL$ : PRINT AT QJ,OF) FLASH OAS"Confirm, START NEWS FL
|| ASH OO''TAB OF3"<y> Yes -or- <n) No": GO SUB SQ: GO SUB Ik:
IF 220A THEN INPUT "Input Nbr of Names"jmx: IF ax3VAL "217*)
VAL *27000" THEN GO TO VAL "2004"
2005 DIM o8(mx,7,31)2 DIM O8(nx, 7,31): LET IN=OA: LET ms=0A:
CLS: 60 TO VAL "2009"
2006 GO TO VAL "2000"
2007 IF 2)0A AND 24OF THEN INPUT ‘Ent Strt Nbr “3MS CLS if
NPUT "Ent end Nbr "SAX: CLS
2008 IF 2=0€ THEN CLS: INPUT “Twin Labels? <y) yes or <n? WN
o "S48! INPUT "Ent sps bet: "sSX: INPUT "Ent Tab "sTB: CLS
s INPUT "Nbr of Fields (1-7) 4 for labels*}xt PRINT AT 0U,08
$"Oo you want Page Control?": INPUT "<1> yes or <2) No "SKI
IF koa THEN PRINT AT OU,00;"Ent "*PG"* for same page, or a
nbrto change. “: INPUT PG: PRINT AT OU,O0}"Ent "*NN"" for 5
ane line count,or nbr to re-set line count, ": INPUT NN
2009 FOR O=KS TO MX
2010 IF 240C THEN G0 SUB VAL "2022"
2011 IF 2=00 THEN GO SUB VAL "2110"
2012 IF 2=0C THEN G0 SUB VAL *2034”
2014 IF 2=0£ THEN GO SUB VAL "2040"
2016 IF Q)=HK THEN 60 TO VAL *2000*
2018 NEIT O
2022 CL$: PRINT AT OF,OFS"Mi No. "30
2024 CLS : PRINT AT 0g, 0050$AT OJ,00;"Input "}("Co Name * AN
D INFOA)+("Dept ©" AND IN=0B)4("St adr" AND IN=OC)+(*ct,
$t,2p" AND IN=OD)4+("ist Name” AND INSOE)+("Tel Nor " AND INF
OF)+("spare dta” AND inzog)}" or zz to quit."s INPUT TS IF
Tée"2z" THEN LET INeOA: LET O=MX: CLS : RETURN
2025 LET 0$(0, IN)=1$
2026 IF IN=O6 THEN CLS ; 60 TO VAL "2030"
2028 LET INSIN+OA: GO TO VAL "2024"
2030 PRINT AT OH, 0030$(0,0A) '0$(0, 0B) '0$(0,0C)'0$(0,00)'08(0
,0E)'0$(0,0F)'0$(0,0g)''"0K? <¥) Yes, or <N> No": GO SUB IK
+ IF 2508 THEN LET IN=QA: 60 TO VAL "2024"
2032 CLS i LET IN=GA: RETURN
2034 IF 0$(0,0A)(QA 10 GB)="zz" THEN 60 TO al
2035 PRINT AT QE,00$"H1 No. "$o''08(0,0A)'08(0,0B) '08(0,0C)'
0$(0,00)'0$(0, 06) '08(0, OF)
2036 PRINT 06(0,09)
2037 PRINT "Key ENT for Next: PAUSE VAL "ded*: CLS i RETUR
4
2038 IF LEN 0$(0,0A)<OE THEN RETURN
2040 FOR y2oa TO x IF ysoa AND o$(o,y)( TD ob)=" " THEN RE
TURK
2041 LPRINT TAB tbfo$(o,y): LET nn=nntoat NEXT y: GO SUB VAL
"2046"
2042 IF b8="y" OR t$="Y" THEN FOR ysoa TO od: LPRINT TAB tb}
ng(y) LET nnenntoat NEXT y: 60 SUB VAL "2046"
2044 RETURN
Cant —
does not conaand the printer to change print styles, Style
changes must be set aanually with the printer's dip
switches, or by direct connands entered in the "K mode". If
the user desires software controlled printer style changes,
it is practical to build a few more lines to do that. These
custom printer control lines would be operated in the K node
by either <80 TO line? or <0 SUB line?
"Now you see it, then you dont’. Saving eemory is a
necessity in order to create comprehensive software for the
18-2068. 38K of FREE poses limitations as to the number of
functions that can be stuffed into a progras. The Safe Disk
Operating System (SD0S) provides sone interesting aenory
conservation capabilities. We conserve a tremendous amount
of FREE Rar by first creating the needed MENUS with line
programming, then SAVING the Screens to diskette, and then
DELETING the program lines. A 700 byte Menu is then
presented when needed by this sisple 10 byte command in a
program line: <LOAD /"fn” SCREENS). Five such Menus are
“canned in diskete’ for a saving of about 3K of meaory
usage.
Other memory saving techniques are used as well. A
variable file is first created in program lines. Then after
the vars are imbedded in memory, the file is SAVED to disk
with <SAVE /"arg” VAL). Then the lines of programming are
deleted. Ordinarily the variables in a basic program are
SAVED with the program and the vars ride in with the prograe
vhen it is re-loaded. The vars file in diskette serves as
back up if a program is inadvertantly CLEARED. Deleting the
program lines saves nearly a K of memory. Most isportantly,
the vars file contains another memory saving device to be
discussed next.
"Pseudo
Hex" is a neat system that uses double
character variables to represent nusbers { through 20. |
Qo=0, oa=1, ob=2, o¢=3, on through ou=20. Each usage of
characters instead of numbers SAVES § bytes for numbers 1-9
or 6 bytes for numbers 10 through 20. There are 160 lines
of programming and each will average 3 usages of numbers
1-20 The "pseudo hex" table saves between 4 and 5K of
nenory. The entire vars file is only 69 bytes only part of
which is the pseudo hex table. Therefore some 4K of memory
is saved this way. Pseudo hex lends itself to human memory.
Qne can count on ones pinkies with it, using oa for one
pinkie, ob for two, etc. Soon it becomes habit.
Another aemory saving technique is the use of BODLEAN
expressions instead of IF THEN. Boolean expressions are
chained in a line of programming, where IF THEN expressions
would require single lines. For example, the tvo lines: 10
IF fet THEN 40 TO 100. 20 IF A=2 THEN GO TO 200. A single
line with © BOOLEAN would ber 10 G0 TO (A¢ob)s VAL
"100%#(Aoa) VAL *200". The program makes extensive use of
Boolean. © Some lines contain as many a 12 [F THEN logicals
expressed in Boolean. Memory saving is tremendous, up to
70% as compared with conventional IF THEN expressions.
average savings realized is around 30% of total prograa
length In this progran some 3K of memory usage is
conserved.
The |
}
|
| 0$(0,05)'*3. *30$(0,00)'"4. *308(0,00)'"S. "308¢0,06)'"6. *5
| 08(0,0F)'*7. "3o$(o,0g): INPUT "Field Nbr or @:"$INi IF [No
Program Listing (cont )
2046 LET DD=SX: IF K=0A AND SX#NND=LN THEN GO SUB PES LET 00
200: RETURN
2047 IF 00)00 THEN LPRINT : LET OD=D0-OA: LET NN=NN#OA: IF N
ND=LN AND K=QA ANO NN+OD)=LN THEN GO SUB PEs LET O0=00: LET
NNSOA: RETURN
2048 IF 0D)O0 THEN G0 TO VAL "2047"
2050 RETURN
2051 NEXT N
2052 GO TO VAL *2000"
2058 O1M of(oa,oa): 60 TO Fr
2060 60 TO FH
| 2061 CLS + GO SUB VAL "2586": 60 SUB VAL "2572"s CLS
| 2063 CLS $ PRINT AT OH,O1;“Please Select’’’TAB QD; "<1) TS 20
4Q Printer?"''TAB 003"<2) Centronics Printer*: 60 SUB SQ: G0
SUB IL? IF 240A OR 2>08 THEN GO TQ VAL "2063": LET PR=2-OA:
IF PReOO THEN LET /P=7; LET 1x=VAL ‘32%: LET qqg=og: LET fd=
oot GO TO FA
2065 CLS : PRINT AT O1,0F}"Qoes printer need a*'TAB OF}"line
feed?:"''TAB OF}*<y) yes or <n) no": 60 SUB S@: G0 SUB IK
3 LET FD=2
2066 CLS : PRINT AT G1,00;"Turn Printer ON, and:*
2067 INPUT "Input MAX Line Length?"$LX: IF FO=GA THEN LET /P
| =O: PAUSE OL! POKE VAL "22323",LX: IF fdsoa THEN POKE VAL "2
3324" 0)
2068 IF fd=ob THEN POKE VAL "23924", 00
2070 CLS $ INK 6: PRINT AT 3,63 "FUNCTION MENU"’'TAB G3"<1> H
ail List Menu"’TAB 6% INK 53"<2) Caption"’TAB 6} INK 6}"<3)
Format"''TAB 6}"<4> Page Managenent"'TAB 6} INK 5}"<5) Line
Space’'TAB 6} INK 6}"<6) Page End"''TAB 6}"<7) Letterhead"’T
AB 63 INK 53°<8) Sign OFf"''TAB 6} INK 63"<"} FLASH 13"9"5 F
LASH 0}") Set up Outline*’TAB 63 INK 53"<0) Print Quéline?’’
TAB 6}"Page="}pgi TAB 16)*Line="inn
2071 INK oet LET ggzoat PRINT AT ot,okipgi" "SAT ot VAL "21"
| gong" ": G0 SUB sqi G0 SUB il: IF z<oo OR z>oi THEN G0 TO fa
2072 IF 2=0F THEN GO SUB PE: GO TO FM
2073 IF zoe THEN G0 SUB 10 TO fa
2074 GO TO (z=00)4VAL "3324"+(z=0a)$VAL "2000"+(z20b)AVAL "2
O94" +(zz0c)EVAL "20B3"+(z=0d)XVAL "3004"+(z=0g)4VAL "3370"+(
zeoh)EVAL "3384"+(z20i)#VAL "3300"
2083 CLS: PRINT AT 5, 11;"FORMAT MENU"''TAB 63"<1) Single Sp
ace"’'TAB 63"<2) Double Space"’'TAB 63"<3) Line Length Chang
e"''TAR 63°44) Page Center Change"''TAB 63"<"$ FLASH 13"5"
FLASH 03") To Function Menu”
2084 G0 SUB sqi 60 SUB il: IF z=od THEN CLS : INPUT “Input P
age Center*$qqi GO TO VAL "2083"
2086 IF zeoc THEN CLS: PRINT AT QJ,0As*key in lgthi "2 INPU
TLL: LET /pso: PAUSE OL: POKE VAL "23324", (OJ AND fd=oa)+(o
|| 9 AND fd=ob); PAUSE OL: POKE VAL "23323",LK
2087 IF z=0e THEN GO TO fa
2088 IF z(oc AND zoo THEN LET sd=z
2092 G0 TO VAL "2083"
2094 CLS : PRINT AT OJ,003"Type the Cap"''TAB od} "Line igth
Limit ist "§LX: INPUT $
2035 LPRINT TAB QQ-LEN w$/OB}m3; LET NN@NN#QA: GO SUB bu: Ov
T po, 24
2096 G0 TO FH
210 LET IN=OA
2112 CL§ : PRINT "Enter Field Nbr to Correct, or "et"
or next field."''"M] No. "$0''"Fields’'"1. "308(0,0A)'"2. *y
THEN RETURN om
Combining the above techniques reduced the aesory
length of S00$ Mail Merge from around 21K to 9K total
program length. These facts are given both to help you
understand the cryptic programing and to whet appetites for
a later article about Boolean Prograrming. When studying
the programming, "think pseudo hex" to understand the "o
vars’. Look at lines 2586 through 2590 for the variable
tables, It will help to wake a index card for reference to
the variables. Later ve will DELETE these lines and the
vars will no longer be visable. While in that area, EDIT
line 2590 and change the LETS for “N$()" to you own
letterhead and sign off data
The LLIST Instructions
Key in the LLIST as given. This is a long and
laborious task and nothing can be learned in the process
that cannot be learned by studying the listing. If is
likely that quite a nuaber of key in errors will result
vhich will have to be de-bugged. Why not save yourself the
labor and order the "S00S Issue Diskette” which is offered
in the yellow pages of this issue. The diskette also
contains the other utilities and program presented in this
issue, At $16.95 it is quite a bargain. But whether you do
or not, please follow through the logic of the following.
The progras operates by <€0 TO 2061). The LLIST
contains 5 programmed menus which will be SAVED as SCREENS
files to diskette. Then the line numbers for the menus vill
be deleted and then each aenu line will be re-created with a
single <LOAD ‘nare” SCREENS) consand. The Variable files of
Lines 2586 through 2590 vill be initialized, then the Vars
vill be SAVED to disk and those line nunbers deleted. If
you have conpleted the Key In project, Type G0 TO 2061) and
follow the prompts until the FUNCTION MENU appears. If you
tannot get that far, then you ust re-check for key in
errors in lines 2061, 2572, 2575, 2578,2579, 2578, 2579,
2586, 2588, 2590 and 2596. Continue by the following steps
1. Operate the program and exercise all eenu functions.
Create a mailing list, checking the menu selections of the
Mailing list menu. Print the Mailing List in it's various
offered aodes. Test the "Print Labels” node. Use a spare
diskette to test the SAVE and LOAD functions.
2, Check all selections of the Function Menu. Create a
‘Qutline Data Base’ of at least 2 Major Topics and 2 Sub
topics of each. Then PRINT the Qutline. Print a Caption, a
Letterhead, a Sign Off, and test the page fanagenent
functions.
3. If any of the above fail, a report code will appear
at the botton of screen. You must then check the Line
nunber reported, edit the line and correct the key in error.
4, Ve will now assume that $O0S MAIL MERGE is operating
correctly in all aodes. Now use a spare diskette and <SAVE
JPwmrg"LINE 2097) ENTER. This is a temporary save, using &
different title and is for SAFETY in case you lose the
program for sone reason
5. «CLEAR? the coaputer and type (40 10 2061) ENTER.
Respond to prompts until the Function Kenu appears. <BREAK?
and type <PRINT FREED ENTER. Make a note of the figure
Progra Listing (cont.?
2120 CLS $ PRINT AT oj ,oo}0$(o,im)$AT ou,oos*npt *§(*Co Name
* AND in=QA)+("Dept "AND in=OB)+("St adr * AND in=QC)+
(tet St.2p" AND in=0D)+(" 1st Name" AND in=OE)+("Tel Nor * AN
O in=OF): INPUT TS
2122 LET o$(o,ind=4$ CLS: 60 TO VAL *2112*
2550 PAUSE VAL "de4"! LET z=CODE INKEYS-48: IF z(oo OR z)oi
THEN G0 10 ils REM 3 For Key 0 to 9
2553 RETURN
2554 IF PEEK VAL *23611"CVAL *22i" THEN GO 10 IK: REM % For
Yes or No.
2555 LET Z=PEEK VAL "23560": POKE VAL "29611", VAL "220": IF
2OVAL *78" AND Z4>VAL "89" AND ZQ)VAL "110" AND 2Q>VAL val
* THEN 60 10 Ik
2558 LET 2=(0A AND Z=VAL "89")+(OA AND Z=VAL "1217)+(0B AND
2=VAL "784)4(0B AND Z=VAL "110")
2560 RETURN
2867 IF IN 127253 THEN GO TO BU
2568 RETURN
2870 CLS : PRINT AT oj,ods*INPUT FILE NUMBER": INPUT t82 LET
US="MURG'HtS! SAVE /t$ LINE 20613 BEEP oa,oa: CLS : &0 10 F
4
2872 CLS: PRINT AT 4,4} INK S"¥4x "} INK 6)°S00S MATL NERG
es INK 5)" $2K"7'TAB OP*MAIL LIST"S INK 33" LABELS “} INK 4
jTENVELOPES"! "TAB 63 INK G*INVENTORY "3 INK 2}"Outlines*''
TAB 13} INK As*WITH? "TAB 33 INK 4j"SAFE"S INK 63" O1SK") IN
K-53! OPERATING "} INK 2;"SYSTEM*''TAB 11} INK 3 1984 by”
"TAB 3}"T$-2068 SAFE DISK UP-DATE*'TAB 63 "1317 Stratford Ave
TAB S;*Panana City, FL 32404"' TAB 7}"rights reserved"
2575 FOR N=0A TO oft GO SUB SQ: PAUSE VAL “100"s NEXT Ni RET
URN
2876 INK xat PLOT 00,00! ORAW oo, VAL "175": ORAW VAL *255",0
ot DRAW o0,VAL "=175%s DRAW VAL '-255",oo: LET xaexatoa: IF
xadof THEN LET xasoa
2578 INK xat BORDER xatoat PLOT oh,oh: DRAW 00, VAL "159°: OR
AV VAL "239",00! ORAW oo, VAL "159% ORAY VAL *-299",00% LET
yazxatoat BEEP oa/0j,VAL "40": IF xadof THEN LET xarob
2879 INK of: RETURN
2880 BEEP .1,40: PAUSE VAL "20": RETURN
2582 BEEP OB/OJ,O0: BEEP 08/0J,0H: BEEP 0B/0J,0N+ BEEP 08/0)
1003 RETURN
2586 LET po=t272 LET oo=0: LET oa=ls LET obe2: LET oc=3i LET
coded! LET og: LET of=6: LET og27i LET oh=@i LET of=9) LET
ojel0s LET ok=1ii LET ol#12: LET om=l3t LET on=14: LET op=l
St LET og=l6: LET or#l7: LET os=18: LET ot=19: LET ou=20
2588 LET tweoot LET xa#2t LET sq=25785 LET In=543 LET nn=0s
LET pgels LET prait LET bus2667: LET zee: LET sq=2576: LET
fa=2070: LET sd=1: LET sp=2990: LET 1h=2610: LET pes3014: LE
T ik=25543 LET il-2550: LET 1-643 LET Ix=@0: LET qq=40: LET
tb=8: LET fd2
2590 DIM n$(og.3L}i LET n$(oa)="TS-2068 Safe Disk Up-Date":
LET n$(ob)="1317 Stratford Ave.": LET n§(oc)="Panana City, F
L 32404": LET nf(oe)="Bill Jones*s LET ns(of)="904 @71 4513"
: LET n$(og)=*Sincerely,"
2596 RETURN
2600 CLS $ PRINT AT oj ,0f3"SAVE Menu*’'TAB 45*<1) Save this
Mail File’! 'TAB odi"<2) Save Progran + File”: 60 SUB sq: G0
SUB ilt G0 TO (zXoa OR zdob)¥VAL *2600°#(z=0b) AVAL *2570"+(z
Foa)svAL *2602"
Ze
vin
Con 7
presented, Next, Install a freshly formatted diskette and
type: <SAVE /"arg* VAL) ENTER. This saves the variable file
to diskette. We will call this your "program diskette” and
it will be used for all SAVES from now on. Next, DELETE
lines 2586, 2588, and 2590.
§. The Function Nenu should still be still on screen,
If not, type: <60 70 fm) ENTER. BREAK and type: (SAVE /"fa"
SCREENS) ENTER. The disk should run and the Function Menu
will be saved to diskette. To make sure, type (LOAD /’fa”
SCREENS The Function menu should boot in fron disk. If
not, repeat the procedure of iten 6. Next, ENTER a NEW LINE
2070: {2070 LOAD /*fe" SCREENS). Enter the line, which will
replace the existing line 2070. Type <60 10 fa? ENTER.
The Function wenu should boot in fron diskette.
7. Type <LIST 2089 ENTER). BREAK and type (G0 10 2083
ENTER). The Format Menu should appear, BREAK and type:
(SAVE /*fo SCREENS ENTER. Then type <CLS) and (LOAD /*fo”
SCREENS). The Format menu should boot in frou diskette. If
O.K. then type a new Line 2083: <2083 LOAD /*fo" SCREENS)
Enter the line. Then type <G0 TO 2083 ENTER>, Again, the
format menu should boot in froa disk.
8. BREAK and LIST line 2572. Then add Line 2574: <2574
STOP>. Type <60 TO 2572 ENTER?. The title screen should
appear. Type <SAVE /"epr” SCREENS ENTER>. Type <CLS?
ENTER. Type <LOAD /"cpr* SCREENS. The title screen should
boot in. Type an new line 2572: <2572 LOAD /"cpr” SCREENS.
Type <CLS) <G0 TO 2572 ENTER>. The title screen should boot
in from disk, Now DELETE line 2574 which has the STOP.
9. Type <LIST 2000 ENTER. BREAK and type (G0 10 2000
ENTER). The Hail List menu should be on screen. BREAK and
type <SAVE /*wl' SCREENS ENTERD. Type <CLS> <LOAD /*ml"
SCREENS ENTER). The Mail list menu should boot in. Type a
new line 2000: <2000 LOAD /"m1" SCREENS).
10. Type: LIST 3004 ENTERD. BREAK and type: <60 TO
3004 ENTER). The Page Management Menu should appear. BREAK
and typet <SAVE /*pgt SCREENS). Type <CLS> <LOAD /*pg’
SCREEN$ ENTER). The wenu should boot in from disk. Type a
new line 3004; <3004 LOAD /*pg* SCREENS ENTER>. Type <CLS)
{80 T0 3004 ENTER). The screen should boot in.
11. BREAK and type: <SAVE /*SD0S MMRG"LINE 2061 ENTER?
This SAVES the main program to disk.
12. Type: <CAT ENTER). The disk directory should show
the prograns: <arg VBLS) (fm BYTES) <fo BYTES) <cpr BYTES?
pg BYTES) <SDOS MMRG>. How ve will install the file zero
auto load line. NEW the computer. Then type this one line
program: <10 BORDER 0: PAPER O: INK 6: CLS: LOAD /*S00S
AMR") ENTER. Next type a direct command: SAVE /0 ENTER.
Next, type: <LOAO ENTER). The wain program should AUTO LOAD
and operate.
13. BREAK and type: <PRINT FREE ENTER). Compare this
FREE report to the earlier FREE report and you will see the
savings of aenory resulting from the use of disk for major
parts of the program. © You say go ahead and operate the
software now and benefit from the extra FREE meaory to use
for data storage.
The concepts of "Disk Dependant’ software should now be
clear The disk drive, esployed vith ingenuity, can
Program Listing (cont)
2602 CLS: INPUT "Input Mail File Nors*st$s LET t$="m"+ts: S$
AVE /4$ DATA 06()3 60 TO fa
2604 IF 2906 THEN CLS : PRINT AT QJ,QH}"(NPUT FILE NBR": INP
UT $$: LET t$="n-"+t$s SAVE /t$ DATA o$(): GO TO VAL "2000"
2990 LPRINT + LET NN@NN#OA: IF NND=LN THEN G0 SUB PE
2994 IF sd=ob THEN LPRINT : LET NN@NN#OA: IF NND=LN THEN 60
SUB PE
2396 RETURN
3004 CLS : PRINT AT 3,5) INK 6}"PAGE MANAGEMENT"''TAB 53 INK
S3"Next Page is "ipg'’TAB 5j"Lines to Page End="jin-nn’ ‘TAB
[1e"Select’’'TAB 53°41) Page End"''TAB 53"<2) Adjust Line N
uuber"''TAB 53*(3) Re-number Page"''TAB 53"<4) To Function #
enw”
3005 PRINT AT o@,ostpgi* "AT og, VAL "23%; In-nng" ": G0 SUB
sq: G0 SUB il: IF zXoa OR zrod THEN GO TO VAL "3004"
3006 IF 2=00 THEN G0 TO FM
3008 IF 2=08 THEN INPUT "Ent new lines to end
LN-NL: 60 TO VAL "2004"
3010 IF z=oa THEN G0 SUB pe: GO TO fe
3012 IF Z=0C THEN INPUT "Enter next pg No. "}PG: G0 TO VAL *
2004"
3013 G0 TO VAL "3004"
9014 IF PReOO THEN LPRINT ''''spghtrrerrer tree's LET NNe
OA: LET PG=PG+0A: RETURN
3016 IF NNCVAL "S9* THEN LPRINT : LET NN=NN#OA: IF NNCVAL "S
“GNLE LET AN®
| 9° THEN GO TO VAL "2016"
3018 LPRINT TAB QQsPG: QUT PO,OL: LET PG=PG+0A: LET NN=OA: R
ETURN
3020 CLS : PRINT AT oj,obs"Install Data Diskette,"'TAB obj"T
ouch ENTER": PAUSE VAL "ded": CAT : INPUT “Enter TITLE ONLY
of C ARRY "yt PRINT ''t$: LOAD /t# DATA o$(: 60 TO V
AL "2000"
3300 CLS : PRINT AT oj,obs"Qutline Fill": INPUT "Enter Nor’ o
f Major Topics:"jaj: INPUT “Enter Nbr of Sub Topics of each:
"hsb: INPUT “Enter Coluan width:"jlgts DIM k§(aj,igt): 01% v
$(mj,sb,1gt)
3304 LET aoa: FOR n=oa TO aj
3305 IF ndmj THEN 60 TO VAL "3320"
3306 PRINT AT on,oos"Ent Major Line "i [NK eins INK ofs* 0
tezz to quit®s INPUT k8(n)s IF k$(n)( TO ob)="zz" THEN LET k
$inde"" GO TO VAL "3320"
3308 FOR yzoa 10 sb: PRINT AT on,od}*Minor*$AT on,og} INK od
sy} INK oft IF y>sb THEN GO TO VAL "3316"
3310 INPUT v$(n,y)s IF v§(n,y)( TO ob)="zz" THEN LET v$(n,y)
=) 60 TO 3316
3312 NEXT y
3316 NEXT 0
9920 LET nemji LET y=sbi CLS i PRINT AT oj,abs"Print the Gut
line now?"''TAB ob3"<y) Yes or <n) No": G0 SUB ik: IF z=ob T
HEN LET n=aj: G0 TO fa
3324 CLS : INPUT "Input Tab for line prints "jtz
3930 FOR n=oa 10 mjt IF k$(n)(¢ TO ob)=" * THEN GO TO VAL "3
354"
3934 LPRINT TAB tzjk$(n)'': LET nnanntobi IF nnd=in THEN 60
SUB pe
9338 FOR yzoa 10 sbi IF v$(n,y)( TO obd=*
"3346"
" THEN GO TO VAL
Z God- Z-
aitigate the basic deficiency of the 19-2068, nanely
"insufficient FREE menory’ to use for programming. As the
Oliger EPROM developments continue, Safe Disk Up-Date will
explore each new capability in detail. In the meantine,
follow on issues will discuss subscriber questions and
comments about this softare "SO0S Mail Merge’. Feel free to
write. A quick letter response will be sent and the
questions comments will appear in the next issue.
Prograa Listing (cont.)
9342 LPRINT TAB tztoesv8(n,y)''s LET nn=nntob: IF nnd=ln THE
N GO SUB pe
9346 HEXT y
3350 NEXT
3358 CLS: PRINT AT oj,ob}"Delete the Data?”''TAB obj"<y) Ye
sor <n} No"; 60 SUB iks IF z*oa THEN DIM k$(oa,oa)s DIM vs¢
04,0a)
3360 60 TO fa
3370 FOR n=1 TO oct LET e$=n$(n)i GO SUB VAL "3380": NEXT ni
LET a$=n$(of): G0 SUB VAL "3380": 60 TO fa
3380 IF mS(LEN a$)=" * THEN LET m$=a$( TO LEN m$-0a): GO 10
VAL "2380"
3382 LPRINT TAB qq-LEN a$/ob}m$: LET nn=nntoat RETURN
3384 LPRINT '''s LET m$=n$(og): G0 SUB VAL "3380": LPRINT '’
*) LET e$=n$(oe): GO SUB VAL 3980": LET nn=nntohi G0 SUB pe
: 60 TO fa ae Exh 1~
North American F-86
Printer Control Programming
(LET Peo) takes care of "sending LPRINT character streams’ to a Centronics printer, The other half is sending
"Printer Control Codes" to command the printer to do such things as change type fonts, set italic, and set underline
nodes, Most printers have a group of dip switches to manually set these functions, but ususally the dip switch panel is
located in a difficult to reach area, What is needed is ‘software control’. Lets explore how to build a software
“printer control group’. First, a MENU is needed. The menu would look something like the following:
1. Pica Style 2. Elite Style. 9. Condensed Style. 4. Italic Font. 5. Underline.
Vhen the menu is presented, a touch of key 1-5 should set a variable to the value of the key touched. See the INKEYS
prompt routine in this issue. Ve will let the variable ‘ps" be our switch. After the menu and the INKEY$ prompt, this
program line will do itt <900 LET ps=z). For example} if Key 1 is touched, Pica style is selected and “ps=i". Before
continuing, you should make sure that the printer actually responds to a LPRINT command. Type <LPRINT "12345" ENTER’. If
12345 is printed to paper you may proceed. If not, then you must set up the printer correctly before proceeding.
Now, assuming that a menu has been constructed, we will build a printer control group. LINE 900: <900 LET ps=zt 60
Td 1000)
Line 1000 should contain the programming needed to CANCELL all special printer set-ups to make ready for commands to
establish the print styles selected at menu. Sone printers have a single comnand code to do this, BUT aany printers will
also RESET TOP OF FORM when the RESET command is used. That would disturb a page format after a print style change has
been directed. Line 1000 should contain groups of CANCEL commands for every conceivable printer set-up, WITHOUT resetting
TOP of FORM. Then you'll be ready to set the print style selected at menu.
Before going to the next lines, we will discuss how control codes are sent to a printer. Lets use a typical control
code group as would be given ina printer manual. (27,100) (80,102). To send such a group, this programming would be
needed? <line 80 SUB BU! QUT 127,27: 60 SUB GU: QUT 127,100: G0 SUB BU: QUT 127,80; GO SUB BU: QUT 127,102 >
Explanation: (QUT 127) sends the control code to the printer, BUT- the printer must be READY to receive a control code.
4&0 §UB BU) is a line to assure PRINTER READY). Ve vill now construct "line BU as line 2000. <2000 IF IN 1274253 THEN
40 TQ BUD (2002 RETURN).
To explain the above: When a printer is READY to receive a control code, {IN 127) produces character code 237. If
NOT READY, <IN 127) produces the character code 253, So, line BU (2000) vill loop itself until the printer is READY.
Now, using the examples given, line 1000 can be constructed: <1000 G0 SUB but QUT 127,27: 60 SUB bu: QUT 127------
continue all control codes needed to CANCEL ALL printer set-ups---). Refer to your printer manual for the correct control
codes.
Next, (IF THEN programming is needed to set the print styles selected at menu. Typically, these would bet
<1002 IF ps=l THEN G0 SUB BU: QUT 127,------ the printer control codes needed to set pica style. Use G0 Sue By
between each.)
41004 IF ps2 THEN G0 SUB BU: QUT 127,----- the command codes needed to set ELITE style.
QUT 127 command.?.
Continue building program lines as above for commanding the printer to set the other menu selections. When finished,
the last line should be (line 60 TO the line of your major menu). Try out the "print style menu” and the program lines
that have been constructed. Chances are that the print style changes selected at menu WILL be made at the printer, BUT,
extraneous line feeds will occur. If so, check the printer manual to find the "Cancel Buffer” control code. Usually this
is character code 24, but some printers use an extra command code, To eliainate extraneaus line feeds, the Cancel Buffer
code is inserted after each group of control codes for a special function. Dont forget to use <G0 SUB BU) between each
OUT 127 conmand.
Use G0 SUB BU betveen each
6
TS: 2068 Computing
> with $.D.0.8.
By John Oliger
SAFE QUESTIONS AND ANSWERS
This column will answer questions of general interest about the Oliger 2068
Disk I/F and JLO SAFE DOS. If you have questions you feel other users of this
system would like to see answered, send them to me at: 11601 Whidbey Dr.
Cumberland, IN 46229. Because my schedule can at times be simply too demanding
to always find the time, I cannot promise to ALWAYS have this column ready for
each new issue of Safe Disk Up-date. I will only do the best I can.,._
-Ys-7 Otge
What is the latest version of SAFE and what new features does it provide?
The current version of SAFE as of today (8/16/87) is V2.34. The last change to
SAFE (V2.33 to V¥2.34) corrected a minor bug in the FOR /n TO m command, The
change from V2.32 to V2.33 also corrected a minor bug. The features it added to
SAFE (from V2.2) were: 1)A fast new FOR/NEXT loop structure. 2)The ability to
save a SCREEN$ via the NNI pushbutton along with all the previous functions by
use of this pushbutton.
What does the different numbers represent when referring to SAFE's version?
The first number (the "2" in V2.34) says that this is the second major version
of SAFE, SAFE V1 only supported a total STATE SAVE like V2's SAVE /"filename"
ABS, The second number (the "3" in V2.34) is updated every time a new fuction,
command, or group of functions and commands are added to SAFE. When the RESTORE
/"filename" TO "newfname" command was added, SAFE's version number went from
y2,01 to ¥2.10. The last number in SAFE's version is incremented any time the
code in SAFE has been changed or modified, but no new commands or functions were
added, This might be done to fix a bug or to make a portion of the code more
efficient. An example of this would be when the FOR /n TO m routine was changed
to fix a bug, which changed the version of SAFE from V2.32 to V2.33, and another
to make it V2.34.
SAFE gives me occasional toots when LOADing, but the programs LOAD 0.K. This
seems to happen most often with SCREEN$ files. What does this mean?
Anytime SAFE sounds a short toot, it is reporting to you that an error has
occurred, it knows it, and it will try again. SAFE will try 5 times to read a
particular cylinder on the disk, and give a short toot after each try if an
error occurs. If after 5 trys it still cannot read a particular cylinder, SAFE
will start the load or save over from the beginning. It will do this up to 3
times (with 5 single cylinder tries) before it will finally just give up and
stop with an error report "T" (Disk 1/0 Error). If you hear some toots while
SAFE is trying to SAVE or LOAD, it is simply a report to you that SAFE IS having
trouble. If it finishes without an error report, then it finally was
sucessfull...but you have been told it DID have trouble so can make another
back-up of important files, etc. Most DOSes will retry when an error occurs,
just like SAFE does, but will not Tet you know it is having any trouble...until
it cannot load the file at all!
A last minute Addendum
This page cage in late from Mr. Oliger, so i'll add it plus a report ona extensive check out of the "SDOS MAIL
MERGE" program. I'Ll quote John's note to me and then give his article. (Quote) I wrote this little article tonight
as info for the disk systea. I plan on putting it in the manual sone day, but for nov everyone who has the system does
not have this information. (second note) Another unexpected bug has cropped up in some versions of SAFE ¥2.33 and all
copies of V2-34. A BASIC program load in the 2068 node will stop with an "QUT OF MEMORY" report when plenty of FREE
newory remains. Advise everyone having this problem (only V2.33 and ¥2.34) to return their SAFE EPROM to ne for FREE
replacenent with ¥2.95 which is now the current version. SAFE 2-32 is O.K. and the free replacement applies only to
2.33 and ¥2.34. (end quote) Ed note: The V2-30 and UP series of EPRONS have Snapshot NAI screen SAVE, a FAST COUNTER
addition to BASIC, and Disk File Name Change. The next version will be V2-40 and will include the MERGE function in the
disk language.
CORRUFTED DISKS???
Occasionally you might come across a disk that has becone corrupted in its file storage pointer area (track zero)
that will simply refuse to load any file at all. hat will usually cause this is a glitch on power up of either the
drive or computer, with the disk installed. Occasionally a bad W01770 controller chip has also been found to cause this
problem, ALWAYS remove your disk from your drive vhen powering up either your computer or the drive, unless the disk in
the drive is sonething that you do not care if it is destroyed (or is one that you have a good back up for). It is best
to simply get into the habit of doing this all of the tine, regardless of the disk that you have installed. BUT
EVERYONE can forget sometimes so I will present a small program that MIGHT bring your disk back to life, or may kill it
conpletely. If it's gone already, you have nothing to lose by trying it and you might be able to recover the corrupted
disk.
The first thing to try if you have a corrupted disk is to re-save file zero. File zero uses sectors 1-3 of track
zero, and when SAFE loads ANY file it ALWAYS loads all ten sectors of track zero. Because the glitch could have only
corrupted one of the first three sectors, ve have a 20% chance that simply re-saving file zero will fix the problem.
Enter a single line program such ast 10 PRINT and save it to file zero with the command <SAVE / 0 ENTER?. Now try a CAT:
or try $0 load a regular file. Perhaps we have fixed the disk already! If not...
If not, then after the computer stops with its error T report, enter the command PRINT IN 175). The sector number
that is causing the problem will be printed on the screen. Because the CATalog area starts with sector 4 and ends vith
sector 10, and re-saving file zero into sectors 1-3 did not fix the problem, you will find that the actual bad sector
will usually be in the range of 4-10, If the sector giving the problem is NOT sector 4, then it is VERY likely that we
can restore the catalog area by using a little utility program. If it [9 sector 4, you can still try it and it may
work, The utility program is given below. Key it in and do a CAT (even though it stops vith a error), then RUN the
progras.
10 RESTORE 30: FOR N=92000 TO 32006: READ A: POKE N,A: NEXT N
20 RAND USR 32000
30 DATA 205, 10,0, 205,142, 10, 229
This little program re-saves the CATalog back onto the disk, If the error was actually in a later portion of the
catalog area that was not being used (the CAT area can hold 177 file, and will not be full unless you have thai sany
files on disk!), then the data re-saved will be correct and the disk will be completely recovered. You will find that
over 90% of the time this program will restore access to your disk. To those interested in what this program does at
the WC level, I provide the following annoted assembly listing. It is a very simple little routine.
CALL OO0A turn on Qliger Disk B bank
CALL OABE jsave the contents of the B bank buffer to track 0. Data will be
Sput there by using CAT before runing this program
RST 18H }turn off B bank, turn on interrupts & return to basic
John L. Gliger 9/87
More About SDOS MAIL MERGE
A thorough Check Out
Next issue two more functions will be added to SDOS MAIL MERGE. One will
quickly let you flip through the listing to find a name or stock list.
Presented will be the "Field Wumber and first line of the field”. These lines
will scroll until you find the one you are looking for, then the menu can be
used to do something with that particular field of information, The second
function will be to INPUT a KNOWN LAST NAME or "NOUN" of a stock list. Then the
field having that noun will be found and the seven line field will be presented
on screen. If more than one field contains such a noun, you may continue until
each field is presented.
Also, next issue we will use "TINECHINE" to assemble the three search
routines to make them ligntening FAST. By the way, after printing the LLIST of
Mail Merge, I began to use the software extensively to produce mailing lists for
mail out of invitations to subscribe to SDU. About 600 TS-2068 users were
entered into six individual lists of 96 each, "96" was selected because that is
@ multiple of 24, and my Smart Text software uses mailing lists of 24 fields.
Thats another story that we will take up in the next issue~ how ta split a large
character array into several shorter arrays that can be used in other printing
softwares.
BLEEPS and GLITCHES: Yep, I found a couple! Hey, there aint nobody thats
are perfect! The following line numbers should REPLACE those given in the
LLIST.
2005>1F z=oa THEN DIM o$(mx,7,31): DIM O$(mx,7, 31): LET IN=OA: LET ms=O0A
: CLS + GO TO VAL "2009"
2061>PAPER 0:: CLS : GO SUB VAL "2586": GO SUB VAL "2572": CLS
2068 IF fd=ob THEY LET /p=o: POKE VAL "23324",00: POKE 23323, 1x
I also found some subscript problems when SORTING BY LAST NAME, "when there
are not TWO nouns in the name”. A few line changes as follows cleaned up this
little problem. Enter the following program Iines. Some replace existing
lines.
685>IF LEN b$=00 THEN GO TO VAL "689"
686 IF LEN b$>o00 AND bSC(LEN b$)=" " THEN LET b$S=b$( TO LEN
b$-0a): GO TO VAL "685"
687 IF LEN b$>oa AND b$‘oa)=" " THEN LET b$=b$Cob TO ): GO
TO VAL "685"
689 LET o$(n,0a)=b$+" "+o$(n,o0a)¢ TO-1)
690 NEXT n
692 RETURN
The "SDU ISSUE DISKETTE” will contain all of the above line number
corrections, plus the two new added functions. See you next issue.
TECHNICAL SECTION
Oliger Schematics
Timex Tech Data
Special Projects
URATION
Ts 2068 STANDARD MEMORY CONFIG!
40K
up TO 64K
Full 64K addressing space
not normally utilized
Soe Section $.1
ae aime amaorie Saintes
(BANK #255) (BANK #254) (0OCK)
pect
(BANK #9)
HOME BANK RAM
a eau
Healy sess = | SESTET] eicon
MAGHHE STACK @F7Ccon
SRAM TOP
STKENO soy
mune a
PROG PROG
Ra rae
ARSBUF ARSOUF
(MACHINE COOE, VARIAGLES) TOOK
Gea0H | _(MACHINE CODE VARIABLES!
05 RAM-RESDENT COOE
6200H
DISPLAY F
6090H MACHING STACK Aree 6700
ScooH ‘SYSTEM VARIAGLES SYSTEM VARIABLES scoeH
sB00H PRINTER BUFFER PANTER BUFFER sB00H
DISPLAY FLE 1 DISPLAY FILE 1
40ceH 4900H
HOME ROM HOME ROM
a
8) 2 Display File
ee
: A) 1 Display Fie
Catalo
e Section
PERMANENT , PLUS
SUPPLYERS ° USER FREE
zie? AD’S
\N
;
gottwar® rade 4 ¢*
i aware g**
nv r go"
Cc
Livest© part
shbat!
A experinental ausical composition by a tin eared
ALLEGRO:
Velshean. There are three (GO SUB routines). <60 SUB 100)
produces a indefinite nusical chord which is interrupted by
touching any key. G0 SUB 102) gets a 10 second ausical
pause. G0 SUB 122) brings prompts to adjust the chord
dvell and tine duration of a ausical interlude. Line
numbers 116 and 118 are data lines that contain the absolute
frequencies of the musical scale. These notes are played in
groups of three. Arrangement of a nelody involves the
sequencing of scales in the two data statements, using audio
frequencies of the notes. Insertion of BEEPS in line 104
can oroduce other effects.
ALLEGRO
— 100 RESTORE VAL "116": LET xxeVal "eds GO 10 VAL "104
102 RESTORE VAL "116": LET xx=VAL "600" 60 10 VAL *104"
104 60 $UB VAL "108": SOUND VAL "7",VAL "56"; SOUND VAL "0"
yalpVAL "1", a2s¥AL "8" VAL "12" PAUSE VAL "20": €0 SUB VAL
198%) SOUND VAL "2*,aljVAL *3",a2}VAL "98 VAL "13"! PAUSE V
AL "20" GO SUB VAL "106": SOUND VAL rae aljval *S*,a2Va *
10",VAL "12": PAUSE xxi SOUND VAL *O',VAL “O"SVAL “L* AVAL “0
“VAL "2',VAL "OVAL "9", VAL "O'SVAL "AT VAL TOTIVAL *5",VA
RETURN
106 RETURN
108 READ ts IF f-VaL "10" THEN RESTORE VAL "116%: READ f
{10 LET x7=VAL TL. 75"/(#8VAL "10")2 LET x7=x74VAL “Le6"
112 LET a2=INT (x7/VAL "256°)3 LET al=1NT XTHINT (x7/VAL "2
S6") EVAL "256"
114 RETURN
116 DATA VAL "890", VAL *932.32" VAL "987.76", 932.32, VAL "98
7,76" VAL "830.608", VAL "58.27" VAL "65,406", VAL *130.812",¥
AL "440", ¥AL 880", VAL "1760", VAL #92, 498", VAL 69.296", VAL
¥198,592", VAL "97.990", VAL "110" VAL *430.812" VAL "146.632
* VAL "82.406" VAL "87.08", VAL 997,998", VAL "146.832", VAL *
155.564", VAL *164.812",VAL "195.996", VAL 103.926" VAL "138.
592" VAL *1396.926", VAL "1567.968" VAL "1318.496", VAL "2092.
992", VAL "2217.472",VAL *2349.312", VAL "1174,656" VAL "1318
4968, VAL "1396.928", VAL 7493.88", VAL 523, 240", VAL "587.328"
WAL 233.08" VAL "246,94" VAL "61.624" VAL ‘10°
[18 OATA VAL *3136.936",VAL *297.886", VAL #9520" VAL "698.4
54", VAL "769. 924",VAL °659.248", VAL "558, VAL "87.308", VAL "7
3.416%, VAL "174.816", VAL #194.995" WAL "207.652", VAL "349.23
Dr VAL "391.992" ,¥AL "329.642", VAL "yo" VAL "10"
120 LET xxeVAl *4ed"2 60 SUB VAL "404": 60 TO VAL "120"
+
u
ET xxeat30t INPUT "Interlude in Minutes? "sb: LET yxsxxtbt
OR n=¥AL "1" TO yxt GO SUB VAL "104": NEXT 0
am nd Z- -
_-m 122 RESTORE VAL '118": INPUT "Hote Length (seconds)? "gat L
Lb
2
The New England Moose
and
His White Face Harem
Everybody needs somebody.
A PRINT USING ROUTINE and OEHONSTRATION
This interesting batch of string slicing and
concantations does a nice job of aligning decimal places and
simulating the print using functions. There are shorter
vays of doing it bub this one is included for a study of its
tricks. TYPE RUN.
$0 CLS : DIM a$(10,10)s FOR n=l TO 10
30 LET af(n)=STRS (LOQO000RNOFRHOSRNORRND): IF VAL a$(n)<
0000001 THEN GO TO 30
50 IF RNO<.S THEN LET a$(n)=a$(n, 10 5)+*
G0 IF a8(n,S)="." THEN LET a$(n,6)=STRS CL#(981NT RKO}
70 PRINT n,a8(n)i NEXT ni PRINT ,,"The numbers vill now be
placed in the first column and rounded to two decimal plac
es. TOUCH ENTER®
100 INPUT x$t PRINT AT 0,03"")s FOR nei 70 10; 60 SUB 240:
NEXT nt PRINT '*The nuabers in left coluen will be placed in
right coluan and trailing zeros and connas added. TOUCH EN
TER": INPUT x$ PRINT AT 0,05
180 FOR n=L TO 10: GO SUB 290: NEXT nt PRINT AT 21,3)"Touch
ENTER to REPEAT’
220 If INKEYS="* THEN &0 TO 220
230 RUN
2k0 LET aeVAL agin LET a=INT (100%a+.05)/1002 LET as(nes
TRS at PRINT a8(n)s RETURN
290 FOR is10 10 1 STEP -1i IF at(n,id<>* * THEN 60 TO 320
310 NEXT 1
320 LET cfeag(n,t TO ids IF c$(LEN c$-2)=".* THEN GO 10 380
350 IF cS(LEN c$-L)=".* THEN G0 TO 370
360 LET cf=c$4".0"
370 LET c$=c$#"0"
380 LET a$(n)=
990 IF LEN c$>6 THEN LET cS=c$(1 10 LEN $6) 4", HcS(LEN C$
-§ 10)
400 LET a$(n,11-LEN c$ TO 10)=¢83 PRINT AT ned, i5;asin)
420 RETURN
HELP!
Safe Disk Up-Oate needs both Utilities, Programming
Tips, and Major Softvare Progeass. The aaterial in this
issue cane froa the Editor's own treasure trove, The botton
of that basket will soon be uncovered, PLEASE HELP by
sharing your useful progranaing. See the editorial about
sharing the proceeds of *S0U ISSUE DISKETTE SALES". We all
need particiption by all.
Advertisement
cae KK SDU Quarterly Diskettes **
The programs and utilities that are presented in each
quarterly issue of TS-2068 Safe Disk Up-date are assembled in
one Diskette and offered at a price of $16.00 (post paid?.
Generally the text of the articles in SDU will be sufficient
documentation, When needed, additional documentation will be
furnished. Letter questions about the programs on SDU Diskettes
will be published the following issue. Call for quick answers.
: SDU Diskettes are available in 5 1/4 inch diskettes, any
FORMAT. For other size drives, a cassette is provided. Please
use the order form and check off your disk format or cassette.
SOU Diskette, October 67 issue contains the following:
1. $00S MAIL MERGE. Create, Store, and Print Mailing Lists, Inventories, Telephone Lists. Auto
Print listings. Auto Print Mailing Labels.
2. UTILITY SEXTET- Hex/Oecimal, BINARY, MINED KATH, ASSEMBLER, DISASSEMBLER.
3. PSEUDO HEX VARIABLE TABLE. Use with all BASIC Prograas to conserve program aenory and
standardize use variables. <LOAD /*ph"VAR > in a prograa line werges the vars to any BASIC progran.
4, PEEK K STATE PROMPTER. Three G0 SUB proapt routines for use after renus.
§. VISUAL ASSORTHENT. Four G0 SUB routines to provide color screens.
6. ALLEGRO. Three 60 SUB routines to give a variety of ausical effects.
7. PRINTER STATUS. Two alternate G0 SUB routines to check the printer status.
SDB Diskete Order Form
Please send SDU Diskette (October 87 Issue).
Please Check
____ 5 1/4 inch DS/DD 40 track Diskette.
5 1/4 inch DS/Hi Density or Quad Den, 80 Track.
5 1/4 inch Single Side, DD, 40 track.
Cassette for loading and transfer to my disk system.
Name and Address
nN
Advertisement
$.0.0.8. Software !!
**K Smart Text SDOS **
Gaart Text ia designed for $008. It is a vord processor, text editor, data base eanager, and desk t bli
Suart Text uses the disk drive as if it were a part of & : ' op gual lsher:
exceptionally Iarge disk aail files and use he siiitg Gorguter nT alike i ter ethers: Alou om Maphene.
listings, inventories, labels and envelopes on tractor foras. L use it to publish this nevsletter and to print the
nailing labels. All subscribor data is created with Suart Text and saved to diskettes. Pages of the newsletter are
filed avay in like eanner.
Before I got smart and bought 2 copier, I printed 200 copies of the 70 page Smart Text anual, with this software.
200 copies of three pages at a tine on one uninterrupted print run is a pretty good job for any software. But thats nob
all! Qne can print 1000 letters, each to a different nane and address, pick off paragraph 1 of one disk data file,
paragraph 2 of another disk data file, and use a file in reaory for paragraph 3, "for each of the 1000 letters". You
nay not need to do that. How about this? You have 30 data files stored in a diskette, each about 4 pages in length, and
you vant to “print the aanuscript’. Thats easy! Just elect a format and print style, punch up the Repeat Print Menu
and elect "Print Disk Qata*. Then the vhole 360K of data prints out UN-INTERRUPTED (about 120 pages).
Haybe all of the above is too convoluted. Want to ‘Type and Print’, kinda like one does with a typewriter? Thats
good. The difference is you have a chance to REAQ and EDIT first. Also, you can elect a different style of print
between paragraphs, or insert a subject title (header). Or, you could elect to print an outline. The data bases are 50
flexible that short or long paragraphs way be tucked avay in eemory, or filed in diskette. Then your printing options
are many. Print the first paragraph last, the third paragraph first, etc, etc.
Letterheads center print automatically. The business block of a letter formats and prints automatically. Letter
sign off is autonatic. Printing is centered on page. Pages are nuabered. MUCH HVCH MORE! Smart Text is prograseed
for Epson and Seiksosha coapatable printers. It is easy to adapt to other centroncis printers. The diskette contains a
three hour tutor that explains how to axtch to any printer. Also, the TS-2040 can be used.
The policy is to provide tontinuing after sales support via telephone and correspondance. Previous buyers of Smart
Text aay receive the V2-32 version and wanual up-date for $8.00.
TO ORDER "Snart Text S00S*, send $26.00 Check or MO to Bill Jones, 1317 Stratford Ave, Panasa City, FL 32404.
Diskettes are supplied in 5 1/4 inch, any format. Please specify either Single ot Double Side, and whether 40 track or
80 track. "Satisfaction or FULL Refund", cant beat that with a stick! Also you should specify the "¥ nuaber® of your
Safe Disk EPROM. One version of Saart Text is for V-20 or lover and the newest is for the ¥2-32 EPROM. ‘
Programmers!
Place your FREE AD Here!
(
Aa
Continued from inside front cover-----
ABBREVIATIONS —-- TABLES --- SYMBOLS --- FORMULAS
feFrequency} force fobk=feedback
ffeFlip-flop fil=filament
fusFrequency nodulation Ap=Four pole
Apdt=4 pole double throw A4pst=Four pole single throw
fveFull vave FET=Field effect transistor
geground gdlk=Grid leak
gnd=ground Gain
qrGate hf=High Frequency
hfo=High Frequency Oscillator hpsHigh pass
hy=High voltage hvreHigh voltage regulator
ifsIntermediate frequency inpd=Inpedance
incr=[ncrement} Increase inf=Infinites Infinity
inp=Input invelnverter
I=Current (amperes) IC=Integrated circuit
IGFET=Insulated-gate field effect transistor jb=Junction box
icteJunction ikeJack
JAN=Joint army Navy JANAF=Joint Arny Navy Air Force
JFETsJunction Field effect transistor k=Dielectric constant
lsinductances inductor} luminance lfsLow Frequency
Lfo=Low frequency oscillator lim sweLinit switch
Ikg=Leakage lorLocal oscillator
lp=low pass Ipo=Low pover output
IrsLoad resistor (relay) Isb=Lover side band
LSHI=Large scale hybred integration LSI=Large scale integration
neHagnef lux} node nagsMagnet} magnetic
mag anp=Magnetic anplifier nag nod=Hagnetic modulator
mceMomentary contact egeHagnetic armature
agn=Magneto} magnetron wiceMicrophone
MOSsMetal oxide semiconductor MOSFET=Hetal oxide semiconductor field effect transistor
nc=No connection} normally closed neut=Neutral
nf=Noise figures noise frequency nnag=Non nagnetic
no=Normally open nol=Normal overload
oc=Overcurrent oco=(pen-close-open
ohm=Ohanetter opr=operate
osceOscillator osav20ne shot nultivibrator
out=Qutput: p=Pole} probe
pasPulse anplifier pan=Pulse-amplitude aodulation
pe=Printed circuit pen=Pulse-code nodulation
pet=Percent pda=Pulse-duration sodulation
pec=Photo electric cell pelec=Photoelectri¢
perab=Permeability pf-Power factor} Pulse frequency
perab=Permeability pf=Power factor} Pulse frequency
pfa=Pulse-frequency nodulation pF=Picofarad :
ph=Phase pinsPulse-interval nodulation
pk=Peak Pp Ise
plyph=Polyphase p sitive-negative-positive
pas=Positive pot=Potentioneter
preamp=Preamplifier prisPrimary
prv=Peak reverse voltage pusPickup
Continued on next page.
at
Continued fron preceeding page.
pyr=Power
qtz=Quartz
reveReceive
rect=Rectifier
reg=Regenerate
resn=Resonate
tfeRadio frequency
stisRadio frequency interference
tas=Root mean square
rob-Rotate
ttr=Rotor
ReResistance (Ohns)
RL=Resistance-inductance
RIL=Resistor-transistor logic
schem=Schematic
secsSecondary
semicond=Seniconductor
shf=Super high frequency
sig=Signal
slp=Slope
snr=Signal to noise ratio
sp=Single pole
spkr=Speaker
squ=Square wave
ssbo=Single swing blocking oscillator
stalo=Stabilized aaster oscillator
sueSwitch} Shortwave
vp gen=Sveep generator
svr=Standing wave ratio (Voltage)
syn=Synchronous
syssSystea
SeReSemiconductor controlled rectifier
SuG=Stubs Wire Gage
tc=Thermocouples Time constant
thas=Thernistor
thra=Theraal
thyr=Thyristor
trfsTuned radio frequency
thy=Teletypwriter
ubf=Ultrahigh frequency
undf=Underfrequency
WT=Unijunction transistor
veVerticals Voltage
van=Voltanneter
varistor=Variable resistor
yeo*Voltage controlled oscillator
vdet=Voltage detector
vfsVariable frequency} voice frequency
vhf=Very high frequency
vidamp*Video aaplifier
vif=Very low frequency
vorVoice
von=Volt-ohm nillianpneter
vtly=Voltage relay
Pyr sply=Power supply
QeHerit of a capacitor or coils Quantity of electricty
revreReceiver
ref-Reference
ressResistor
rey cur=Reverse current
rfcRadio frequency choke
rly=Relay
rat=Renote
rpt=Repeat
rttysRadio teletypuriter
RC=Resistance-capacitance
RCL*Resistance-capacitance-inductance
sb=Sideband
scrShort circuit ratio
sel=Selector
sens=Sensitivity
shtc=Short time constant
sig gen=Signal Generator
siwlsStraight line wavelenght
sol=Solenoid
spdp=Single pole, double throw
spst=Single pole single throw
ssb=Single side band
st=Sawbooth} Schaitt trigger
syoServo
syp=Oweep
sup intg=Sveep integrator
sya=Synbol
sync=Synchronize$ Synchronizer
S=Signal power} voltage standing wave
SH=Shield
teTemperatures Tine
tft=Thin fila resistor
Qph=Three phase
thyao=Thratron motor
tpho=Telephotograph
tt=Teletype
ufsUltrasonic frequency
unde=Undercurrent
usb=Upper sideband
USG=United States Gage
vac=Vacuua
var=Variable} Varistor
verVoice coil
vd=Volbage drop
vern=Vernier
vfo-Variable frequency oscillator
vid=Videos visual
vidf=Video frequency
vaVoltmeter
vol=Volune
vr=Voltage regulator
van-Vestigial sideband nodulation
Continued on next page.
Yo} Naw [= swes3ouy OOOT
wero = swesSoy0y OT
weioj2a4 [= sweieyap OT
wesSeyap [= sued QT
wed [= suses8133p OT
wesioap [= swes3quaa OT
weiquaa [= tut OT
ainseay wWsiaMy
PW = SHBULDIP OT
s94W199p T= su9 Uva OT
= saute OT
amnseaw pinbry
Ja9UE GND [= srayawtD—9p 219M COOT
JaJausID9p ANd [= srayawHyUa? 3IqN9 OOOT
JaJBUINUTD J1GQAd [= suayaw DIGN2 OOOT
JayaW aienbs T= srayewid9p aienbs OT
JayawIDap aienbs [= srayoWNUS> a:enbs OT
sayauUaD avends [= ssawWyyIU asenbs OOT
s9,2WOIY T= ‘s1ayu! OOOT
aw T= s19}9U199p OT
sayaungap T= sieyouuas OT
sojouiua. T= SIOIDUNILIN OT
WILSAS DML
ainseaw ealy-
ainseayy seauly
TUL st
OLIt cas
TOIT el
oott cas
TLOT Il
OTOL ot
TOOT 6
OO0T 8
TIO L
Otto 9
Toto s
Lolo} Co} v
TOO €
otoo z
delete) %
0000 oO
Orne nonanKcovVOWL
amseay sunjo,
ras
ot
SE
cag
et
tet
3
g
=
Aeutg
Sapog [e}90 pue ‘jemospexay ‘Areurg
“{eulsaq ul suoneyvasaday oawny quareamnbz
6Sz6'0 80'r sera] spur,
eee’ € ya spse,,
sow
Ol Ol sassneg bs sad suaqany
*-0T ot Sirsanxeyy S12Q2)4
l l satnor spuozas-yem
saty 68E2'0 | (uesW) sopojes-weIg spuoras-yem
aynuyus sad
£069 | 2-OLxEErT sauoje2-wres30| Suen
OL | c-OLX IDET damodasioy sue
OSe'T BLEL0 | puoras sad sqi-yoog eM
2-01 X9Z'% 92'by | ainusw sad sqi-yoos sue
8S°ZT t-OLX689°S ajauiw sad ng SNe
€62'0 etre snoy sad mg, sue
9E°0 LLLLz pas Swen
new :
e-OLXSL ZEeer bs sad suoymay ‘sSUOL
-0LXS 0002 ‘spunog (uoys) suoy
e-01 Ol sileBan (RaW) suo
r-OLX 997 ovez (dpae) spunog (Bu0}) suoy
r-OLX9ES*y €9°v0z7z ‘spunog seuvoy
c-OT Ot suedory sauuoy
£02°0 6z6'y sw 21qn9 suoodseay
z-O1X 1929 6L YI - ‘sw 2199, suoodsajqey,
OT 01 | puosas sad saya bg S341,
t t srajaw 219nQ, $3101
eet 4g Ardy owt uaiueg of
si0}9e4 UolssaAuag "yuOg